首页
社区
课程
招聘
[求助]vs2010 try catch无效怎么办?
发表于: 2016-11-23 23:32 5060

[求助]vs2010 try catch无效怎么办?

2016-11-23 23:32
5060
vs2010,用mfc做了一个东西,发现try,catch无法抓到异常,原来vs2008可以通过设置项目属性->C++->代码生成->启用C++异常  设置为:有,但有SEH异常(/EHa)。就可以抓异常,但是2010不行,有没有遇到过同样问题的朋友可以给个解决方法,万分感谢。

void CaDlg::OnBnClickedOk()
{
try
{
int *a = NULL;
*a = 1;
}
catch (CMemoryException* e)
{
AfxThrowMemoryException();
AfxMessageBox("ddddddddddddd",MB_OK);
}
catch (CFileException* e)
{
AfxThrowFileException(CFileException::fileNotFound);
AfxMessageBox("ddddddddddddd",MB_OK);
}
catch (CException* e)
{
throw;
AfxMessageBox("ddddddddddddd",MB_OK);
}
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 70
活跃值: (37)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
这是标准异常,只能抓到抛出的,用SEH抓,加下划线__try
2016-11-24 08:56
0
雪    币: 199
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
__try和__except是可以抓,但是想用catch。真是太纠结了。原来vs2008平台是没问题的。
2016-11-24 10:58
0
雪    币: 76
活跃值: (28)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
__try{}__exception(1){} 可以捕获结构化异常,用try的话,必须要设置编译器的一个属性 ,好像是/SEH
2016-11-24 12:16
0
雪    币: 199
活跃值: (108)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
__try{}__exception(1){}需要关闭异常的
2016-11-25 10:51
0
雪    币: 2291
活跃值: (938)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
楼主把C++的异常处理和Windows异常处理关系和区别没搞清楚
2016-11-25 10:53
0
游客
登录 | 注册 方可回帖
返回
//