VC编译器捕获内存访问错误

 1 int main()
 2 {
 3     try
 4     {
 5         *(int *)0 = 1;
 6     }
 7     catch (...)
 8     {
 9         std::cout << "Error code: 0xc05" << std::endl;
10     }
11 
12     return 0;
13 }

在VC编译器下使用c++标准异常的时候默认不能捕捉到内存访问错误的异常,也就是我们常见的0xC05错误。

想要捕获这个异常可以使用VC的__try & __except,不过使用这个在c++开发时会产生很多问题。

解决方案:

在命令行中加入/EHa参数,注意大小写。

 

posted @ 2016-01-08 09:13  狂奔的鸡骨架  阅读(185)  评论(0编辑  收藏  举报
AmazingCounters.com