考虑以下 C++ 代码:
class MyException {};
void someFunction()
{
try
{
/// ... code that may throw
}
catch(std::exception& e )
{
throw MyException();
}
}
问题
异常 e 是在 catch 块的开头还是在 catch 块的结尾被吸收?
在第二种情况下,抛出新异常会导致两个异常在运行,这不是我想要的。我想吸收 std::exception 并开始我自己的一种类型。