Posted on 2012-11-08 14:30
点点滴滴 阅读(1530)
评论(0) 编辑 收藏 引用 所属分类:
02 编程语言
class Base
{
public:
virtual const ::std::string& test()
{
return "";
}
};
class Base1
{
public:
virtual const ::std::string& test()
{
return *value_;
}
protected:
::std::string* value_;
};
void testException()
{
try
{
Base1* abc = NULL;
abc->test();
//throw "Out of memory!"; // No catch handler for this exception
}
catch()
{
cout << "Integer exception raised." << endl;
}
}
在【属性】-》【C/C++】-》【代码生成】-》【启用C++异常】有如下4个选项,点击组合框,显示:
否
是(/EHsc)
是,但有 SEH 异常(/EHa)
<从父级或项目默认设置继承>
如果不选择【是,但有 SEH 异常(/EHa)】选项,try { } catch(...) {} 不起作用。新建项目缺省值是【是(/EHsc)】。就是说在缺省情况下微软不支持标准C++。