首先,C++中是否存在不可捕捉的异常?不可捕捉的异常?
我见过一个2005年微软kb article,讨论在一个DLL引发的异常,不能在另一个DLL被抓住。看起来这是用多年前的一个修补程序解决的,但我现在可能会遇到这个问题 - 使用Visual C++ 2008.
具体而言,基于崩溃后的小型转储文件报告,在调用:: fgetpos I期间“M看到的是:
kernel32!UnhandledExceptionFilter+0x55b
两件事情在我的头上弹出。首先我注意到指定的catch块,位于与调用DLL分离的DLL中,没有捕获异常!这是知识产权文章描述的重复吗?其次,我怀疑kernel32“未处理的异常”是否是Visual C++ catch块无法捕捉的。我认为使用“全能”elipses就足够了。
有什么我失踪了吗?
抛出的异常是什么?你还使用C++或SEH异常处理程序吗?如果没有异常处理程序处理异常,则UnhandledExceptionFilter进程会处理异常,但异常可能已由代码处理。 – Avilo 2011-02-19 03:16:04