int main()
{
try
{
*(int *)0 = 1;
}
catch (...)
{
std::cout << "Error code: 0xc05" << std::endl;
}
return 0;
}
在VC编译器下使用c++标准异常的时候默认不能捕捉到内存访问错误的异常,也就是我们常见的0xC05错误。
想要捕获这个异常可以使用VC的__try & __except,不过使用这个在c++开发时会产生很多问题。
解决方法:在命令行中加入/EHa参数,注意大小写。