我写的一个多文档程序,运行时会抛出一些 string 类型的异常,我的设想是当异常发生时程序提示一个消息框并清理相关资源比如打开的串口,然后退出,请问这样的异常处理写在哪里比较合适?

解决方案 »

  1.   

    我的意思是在一个地方捕获程序中所有可能的异常(我自定义 string 的),然后退出程序,比如一个普通的程序可以在 main 里面捕获,但是MFC程序在哪里才行?
      

  2.   

    theApp除非你自定义了异常类,否则捕获了也没用,都是标准错误提示,我一般是写到日志文件中去
    下面是我常用的捕获错误的方法
    TRY{
    ...
    }
    CATCH_ALL(e){
     SHOW_CATCH_ERR(e);//我自己的错误提示对话框宏
     theApp.WriteErrorLog(e,__FILE__,__LINE__);//把错误写入日志,标记错误文件
    }
    END_CATCH_ALL
      

  3.   

    在主消息循环里面捕捉
    http://blog.csdn.net/jiangsheng/archive/2001/08/02/3778.aspx
      

  4.   

    http://blog.csdn.net/jiangsheng/archive/2001/08/02/3777.aspx