程序中,发生了空指针访问的异常,但是用try catch却没有捕获到,

 

原因:

在VS中,编译器会优化,会搜索try块的代码,如果没有找到throw代码,则认为try catch是多余的 :>,然后给优化掉,这种情况异常就不会被捕获到

 

方法:

项目属性中 ,异常属性没设置成EHA

 

 

 

或者在命令行中 添加 

 

 

加上后,虽然在项目调试中,可以捕获到了, 但exe直接运行时,却发生了崩溃,还没弄明白为什么会发生这种情况,有知道的,欢迎评论告知

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐