我喜欢用__try __except块来捕获内存访问异常,可是这个__try __except所在的函数中不能有C++类对象的定义,比如:class A{...};void fun{
A a;__try{...}
__except()
{...}}
编译器会报错: error C2712: Cannot use __try in functions that require object unwinding
我想大概原因可能是防止当异常出现后程序流程被转入到异常处理代码而使原本在函数结束前'}'的类对象析构函数无法执行。真是不爽啊,编写稍复杂点的程序,就难免要用到类对象,请问我用什么办法来捕获内存异常呢?
A a;__try{...}
__except()
{...}}
编译器会报错: error C2712: Cannot use __try in functions that require object unwinding
我想大概原因可能是防止当异常出现后程序流程被转入到异常处理代码而使原本在函数结束前'}'的类对象析构函数无法执行。真是不爽啊,编写稍复杂点的程序,就难免要用到类对象,请问我用什么办法来捕获内存异常呢?
解决方案 »
- MDI 增加CMFCToolbar中 CMFCToolBarComboBoxButton 问题?
- vs2005 制作msi安装包
- 怎么以颜色crl1,clr2画一个rect的3D圆角矩形边框
- 求救!我想在VC中用傅立叶变换做图像处理的程序
- 请问如何实现QQ里面的文件夹选项(具体见内容里介绍)类似的功能?
- 哈哈,CSDN的VC大斑竹在MOP被人羞辱,我不幸看见
- 求 IIS 的属性除 AccessWrite,AccessRead,AccessScript 以外的其它属性及解释?
- word文档的结构
- 谁能提供netmeeting的视频编码解码算法(要有源吗),可以送2000分?
- MFC 图片保存
- CPropertySheet 删除不需要按钮
- [求助]DirectX中的dxguid.lib的错误码
{
CopyMemory(0,&fileSize,4 ); }
catch(exception &r)
{
MessageBoxA(NULL,r.what(),CopyMemory异常 ",MB_ICONSTOP);
}
异常被系统捕获了,但为什么我没有捕捉到异常--消息框没出来 。。我工程的 /EHa 编译属性也指定了。
请大家继续指教 !