我有一些像这样的代码:
try
{
doStuff();
}
catch(SpecificException)
{
if(e.Message == interestingMessage)
doOtherStuff();
else
throw;
}
catch(Exception e)
{
doSomethingElse();
}
当第一个catch块重新抛出异常时,是否会被第二个catch块捕获?
答案 0 :(得分:5)
不,如果您重新抛出异常,则将其执行到方法调用者。
if SpecificException
catch内部表示你需要将该异常分成(至少)2种不同的类型。