我们写MFC,如果功能比较复杂什么的,代码不是非常长嘛,try~catch 什么的不够用。而且很多问题隐藏的很深,经常容易出错什么的。所以就想知道有没有方法,让整个程序出现的未知的未捕获的异常都通通到转到一个异常处理中心去处理什么的。比如缓冲区溢出啊,内存不能读写什么的,一堆一堆的异常。想问下,有没有针对整个程序的异常捕获?

解决方案 »

  1.   

    __try/__except/__finally可是试试SetUnhandledExceptionFilter函数
      

  2.   

    我的经历:大多数异常也只会出现在多线程的操作中,一般处理这些就差不多了。
    其他的地方,在debug时多用 assert, 等等判断;在多测试的情况下,可以排除很多异常。
      

  3.   


    经常出现Reallocate( nNewLength );出错啦,缓冲区溢出,缓冲区访问冲突什么的~好麻烦。而且都是程序运行一段时间才出现的~
      

  4.   

    认真写代码,严格按规范写,使用安全函数,这是正途。 部分实在控制不了的代码使用 eha 捕获, 编译添加开关 /EHa ,  try 能抓到内存溢出,除0等异常。
      

  5.   


    忘了说还需要这个,google 一下这个函数即可