windows 多线程捕获未处理的异常,防止崩溃的地方影响到其它线程

来源:互联网 发布:java 博客园 编辑:程序博客网 时间:2024/06/05 02:41

一个windows程序,多线程,若有线程A、B,在线程A中有类似代码

              MyClass * pClass;

              pClass=NULL;

              pClass->GetData();

 若pClass未进行正确赋值(为NULL),则会出现异常,并且此异常try{}  catch(){} 捕获不到,

此时程序将崩溃,线程A、B都不能运行了,但是如果做相关处理,则只是A线程崩溃,B

正常运行!!


方法:

    在启动线程A、B之前调用SetUnhandleExceptionFilter函数,设置回调函数来处理捕获的异常

   如:在回调函数中调用AfxMessageBox等,即可达到上述目的

0 0
原创粉丝点击