从抓住中重新出发

时间:2009-06-24 21:45:35

标签: c++ exception

如果我抛出异常:

throw Cat("Minoo");

然后我在调用堆栈的某个较低级别捕获并重新使用...

catch(...)
{
  throw;
}

然后在调用堆栈中的其他较低级别我尝试捕获:

catch(const Cat& c)
{
  //Will it enter here, and if so will c be valid data?
}
catch(...)
{
}

2 个答案:

答案 0 :(得分:4)

是的,这是正确的。我在上一个问题中将您链接到的C ++常见问题部分的the very next question中解决了此问题。

答案 1 :(得分:1)

我会说是的,它会抓住它并且应该是有效的。这实际上相当容易测试(至少你会知道它是否适用于你的编译器)。如有疑问,请尝试一下;)。