try-catch 捕捉不到异常
2024-10-07 20:41:16
code:
int _tmain(int argc, _TCHAR* argv[])
{
cout << "In main." << endl;
//定义一个try block,它是用一对花括号{}所括起来的块作用域的代码块
try
{
cout << "在 try block 中, 准备抛出一个异常." << endl;
strcpy(NULL, "asd");
cout << "在 try block 中, 由于前面抛出了一个异常,因此这里的代码是不会得以执行到的" << endl;
}
catch(...)
{
cout << "在 catch block 中, 处理异常错误。异常对象value的值为:"<< endl;
}
cout << "Back in main. Execution resumes here." << endl;
return 0;
}
但是在2010下编译上面这段代码,异常捕捉不到.
-----解决方案--------------------
这个跟C++的try-catch异常捕获的两种模式有关。同步模式和异步模式。其中前者不能捕获内存访问错误,后者可以捕获内存访问错误。
/EHs
/EHsc是启用同步模式。(同 /GX)
/EHa是起用异步模式。
2010默认是 /EHsc, 改为 /EHa就行了
最新文章
- VS2010中App_Code文件夹的问题
- ios 图片的两种加载方式
- x01.Game.CubeRun: XACT3 播放声音
- SQL语句大全(mysql,sqlserver,oracle)
- Laravel 5 基础(十)- 日期,Mutator 和 Scope
- Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数
- java String 两种不同的赋值 比较
- hdu 4550 卡片游戏 贪心
- 【CF】259 Div.1 B Little Pony and Harmony Chest
- 读《流畅的python》第一天
- MariaDB/MySQL备份和恢复(二):数据导入、导出
- prime算法
- python_函数名的应用、闭包、装饰器
- DML_DDL_触发器
- DamonOehlman/detect-browser
- 如何启动Intel VT-X及合理利用搜索
- MySQL mysqlbinlog企业案例
- maven下的经常使用的几个元素以及依赖范围的一些知识
- guns使用注意问题
- 使用curl进行s3服务操作