vc中关于try/catch结构的使用

来源:互联网 发布:网络通信 编程 python 编辑:程序博客网 时间:2024/06/05 19:59

在VC的Release版本中,会对try/catch结构进行优化,如果try块中没有显示的抛出异常,则会将catch块优化掉,也就是在实际运行中会捕获不到异常,如下:

try

{

    char * p = NULL;

    p[0] = 0;

}

catch(...)

{

    ...

}

在Debug版本中会捕获到异常,但由于try中没有显式的抛出异常,catch块在Release版本中会被优化掉,所以也就捕获不到异常了。

如果要在Release版本中也捕获异常,可以在编译命令中加上/EHa参数,取消对try/catch的优化。

原创粉丝点击