求助 关于VC++的异常的捕获

已答复 求助 关于VC++的异常的捕获

  • 2012年5月2日 9:53
     
      包含代码

    在vc2010中捕获异常的问题, 我使用了try 和catch(...)但是在里面调用的语句发生异常的时候,  catch中的断点根本不会响应。倒是VC会弹对话框,3个选择 中断,继续,忽略。 但是不管选择什么还是原地打转,请问这个机制到底是该怎么用。  本来catch中会记录一条log的,现在发生异常调试根本不执行 catch。。。中的语句。

           sqOpen = (NULL != mysql_real_connect(sqHnd,
    								DbInfo.Host, DbInfo.User,
    						         DbInfo.Pswd, DbInfo.Name,
    								DbInfo.Port, NULL,
    							         DbInfo.Clients));
          mysql_set_character_set(sqHnd, DbInfo.Charset);
          return sqOpen;
    在我连接网络数据库的时候,  把网线拔掉。  故意触发异常, 下一条语句mysql_set_character_set会触发异常,但是调用这个函数的外面的异常的断点根本不会相应。  本人不懂异常,望大家请教。

全部回复

  • 2012年5月2日 10:05
    版主
     
     已答复
    不好意思能多贴点代码么?还有系统弹出的对话框写了什么。如果你的try catch加的正确的话。很有可能是try和catch之间的栈展开中对象析构函数又抛出了异常。

    麻烦把正确答案设为解答。

    • 已标记为答案 lygf666 2012年5月3日 4:01
    •  
  • 2012年5月2日 14:21
     
     

    意思就是说,好像c++代码一产生异常,就立刻会弹出一个对话框来。本来在代码外面有catch的,反而没有作用了。而且那个对话框,怎么都关不掉。

  • 2012年5月3日 1:59
     
     

    看看这个

    http://baike.baidu.com/view/1180507.htm


    新浪微博http://weibo.com/xianglitian,欢迎围观