关于函数范围异常处理
ahao 2004-06-22 03:13:43 比如下面的代码:
class A
{
public:
A()
{
throw ae();
}
class ae{};
};
class B
{
public:
B()
try : _sp_a( new A )
{
}
catch(A::ae& /*e*/)
{
int a = 0; // 会到这里
}
private:
shared_ptr<A> _sp_a;
};
void CTestsppoppDlg::OnBnClickedButton1()
try
{
B b;
}
catch(A::ae& /*e*/)
{
int b = 0; // 为什么会到这里?
};
为什么会进第二个catch?
我怎么才能捕获初始化列表里抛的异常,不让继续抛?