Bre*_*ias 0 c++ exception-handling exception try-catch
首先,C++中是否存在无法捕获的异常?
我已经看过一篇2005年的微软kb文章,该文章讨论了在一个DLL中抛出的异常,这些异常无法在另一个DLL中捕获.几年前,似乎这是通过修补程序解决的,但我现在可能遇到了这个问题 - 使用Visual C++ 2008.
具体来说,基于崩溃后的minidump文件报告,在调用:: fgetpos时我看到了这个:
kernel32!UnhandledExceptionFilter+0x55b
我头脑中浮现出两件事.首先我注意到指定的catch块,位于与调用DLL不同的DLL中,没有捕获异常!这是知识库文章描述的内容的再现吗?其次,我想知道一个kernel32"未处理的异常"是否是Visual C++ catch块无法捕获的东西.我认为使用"全能"的省略就足够了.
有什么我想念的吗?
Rem*_*anu 10
可视化C++ catch块只能捕获C++异常.kernel32!UnhandlesExceptionFilter是关于整个SEH异常范围,它涵盖的不仅仅是C++异常.简要介绍一下,本文仍然是新鲜和准确的:Win32™结构化异常处理深度的速成课程.
虽然我们正在努力,但你也需要覆盖/EHa并且可能_set_se_translator.当然还有模糊的__try/__exceptionSEH C++ MSVC扩展.