在程序中
try{}
catch(Exception& ex){}
catch(...){}已经用_set_se_translator把系统异常转换成C++异常抛出捕捉
但是在catch(...)中截获到异常,请问这种异常应该确定类型呢?谢谢!!

解决方案 »

  1.   

    用这个捕获错误信息GetLastError()
    类型DWORD
      

  2.   

    补充:用的不是windows api函数
      

  3.   

    是除了Exception& ex这种类型之外的的能捕捉到的异常类型,可以这样说catch(...)
    这句是万能的,你不需要去理会它是哪种类型的异常,能捕捉就表示try语句有问题
      

  4.   

    因为try有问题,所以才要定位什么问题,假设执行了
    try
    {
    int i = 0;
    }
    catch(...)
    {
    // 这里出现了问题
    }
    那么一定会有人莫名其妙这怎么可能出问题?如果能够定位错误产生的原因最好,比如栈空间出错,物理硬盘的坏道导致页交换文件出错之类的。
    但是由于使用C++和SEH异常捕获都无法捕捉到异常,才需要考虑用catch(...)捕捉到的异常如何定位原因。也就是我发这贴的目的。。
    各位大大能不能来点建设性的意见。。谢谢!!
      

  5.   

    这是一个通用的处理方式吧。。
    try 

    int i = 0; 

    catch(...) 

    // 这里出现了问题 
    } 就用这个代码。该怎么查?
      

  6.   

    既然是catch(...),也就是任何没被之前catch所扑获的异常都将在这里扑获,
    那你怎么可能找到异常地点呢?