我想处理默认值构造类成员中的异常。类似这样的:C++ c-tor处理默认成员值构造异常?
int func()
{
throw 9.0;
return 9;
}
struct T
{
T() try {
}
catch(...)
{
cout << __func__ << endl;
}
int a{func()};
} ;
这可能吗?最新的ISO C++标准对此有何评论?
编辑:我实际上证实了自己它在大多数编译器上工作,但它是否定义良好,我应该通常使用这种构造?
我很确定,如果你发现异常,就会被重新抛出。 – chris 2015-04-06 12:01:53
为什么这样?你可以解释吗? – AnArrayOfFunctions 2015-04-06 12:02:20
啊,*如果控件到达构造函数或析构函数的函数 - 尝试块 的处理函数的末尾,则重新抛出当前处理的异常* – chris 2015-04-06 12:03:41