try   
{  
CString str="a";
str=str.Mid(20,20);}catch (...) {
AfxMessageBox("error!");   
 return;
}这样好像捕捉不到,怎样捕捉debug assertion fail呢?

解决方案 »

  1.   

    .........assertion fail 不是 exception
      

  2.   

    那有没有其他的方式 实现 这样的try  catch??
      

  3.   

    程序在release情况下,不执行assert,所以你是可以捕获到的。只是在debug下无法捕获到,这个似乎没关系,因为软件最终发布release版
      

  4.   

    ASSERTION FAIL本来就是调试期间用来定位错误的,还需要捕捉吗?你只要消除这种错误就行了。