在vs2005使用try catch以后所发生的事

在这里首先要感谢网络共享的伟大,以至于当出现问题后,根据资源共享原则,很容易解决所遇到的问题

还和原先一样,对问题的描述分三大部分:

 

问题的提出

最近由于程序太过于庞大,而且由于有时考虑不周或者程序书写不规范,致使偶尔出现当机,因此想加入try...catch来进行捕捉,这样问题就来了

问题一:

try ... catch没反应,写了try...catch后没进入,

问题的剖析:遇到这类问题是由于在编译的时候,由于程序进行了优化,故在try...catch中没有使用throw,即编译器将屏蔽try ...catch语句

问题的解决:在编译命令行中加入 /EHa 的参数。这样VC编译器不会把try catch模块给优化掉了。

还有另一种解决方案:

就是用_try __except结构,这样在代码优化过程中将捕获这个异常,但是...

用__try, __except块还有问题, 就是这个不是C++标准, 而是Windows平台特有的扩展。而且如果在使用过程中涉及局部对象析构函数的调用,还有就是如果在类中出现异常,用__try, __except块将出现未知异常错误,

在编译命令行中加入 /EHa 的参数。这样VC编译器不会把try catch模块给优化掉了应该是最好的解决方案了。

但是还存在别的问题,不过这就需要另行解决了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值