【发布时间】:2014-03-08 15:24:56
【问题描述】:
假设我有一个类包含某种类型的一些成员。我知道带有初始化列表的try-catch 块的语法如下
template<int N>
struct Member
{
Member()
{
std::cout << "Default constructor of Member " << N << std::endl;
}
};
class A
{
Member<1> m1;
Member<2> m2;
// n members
public:
A() try
: m1()
, m2()
{
// constructor implementation
}
catch (std::exception const & e)
{
// ... cleanup
throw; // and rethrow
}
};
由于涉及到初始化列表,我不能使用多个 try catch 块。 如何判断是哪个成员初始化引发了异常?
【问题讨论】:
标签: c++ exception constructor