我的进程调用了其他人写的DLL, 有的DLL没做异常处理,我每次调用函数都要这样写:
try{
   //调用动态库函数,静态联编
}
catch(...){
//异常处理!
}这样做是不是一定能捕捉到动态库函数的异常?
出现Vc runtime library error!是为什么呢?他会导致整个进程死掉啊!
我faint! 汗!!!!各位大哥,救命啊!!!!!!!!!!!!!!

解决方案 »

  1.   

    应该不能。因为异常处理的实现和编译器非常有关系。过去Symatic的编译器编译的C程序抛出的异常用VC编译的程序就收不了。所以你这样写很可能收不到异常的。
      

  2.   

    dll和我的进程都是用vc写的,并且也收到一些异常,但那个烂动态库没做异常处理,害得都要我来捕捉!!
      

  3.   

    我以前试过  try{}catch(){} 很多时候都不能正常工作
      

  4.   

    不会吧,这么惨!!!
    用MFC的TRY-CATCH-EMD_CATCH怎么样啊??
    谁用过??跟c++的异常处理有什么区别!
      

  5.   

    MFC的 TRY-CATCH 是通过C++异常处理实现的,试试直接用SEH,如果不在乎异常值的话:
    __try { ... } __except(EXCEPTION_EXECUTE_HANDLER) { ... }
      

  6.   

    ok!
    Thank you...
    我试试先