我对Windows API是个初学者,所以这里一定有些东西我还不理解。在我的主函数中,我使用try-catch来捕获所有未处理的异常,但出于某种原因,我从代码其他地方抛出的异常却从未被捕获。我的应用程序只使用一个(主)线程。
我是这样抛出异常的:
throw "ClassName::methodName() - Error message";
在消息循环外捕获异常:
try {
while(GetMessage(args...)) {
TranslateMessage(args...);
DispatchMessage(args...);
}
}
catch( const char * sExc ) {
::MessageBox(args...);
}
我最初认为这是类型不匹配的问题,但是当我添加了带有省略号的catch(...)时,仍然没有捕获到任何异常。如果你问,是的,我确定异常已经被抛出。这难道不是与某种异步相关的问题吗?
谢谢您的帮助!
F5
键 - 调试器可能会询问“将异常传递给正在调试的程序吗?”。 - Angew is no longer proud of SO