我试图弄清楚我的书中的代码示例是什么。它说
在外部的
try-catch
块中添加内部finally
块 异常处理程序,以防止丢失异常信息:
private void PreventLossOfExeptionFormat()
{
try
{
// ...
}
catch(Exception e)
{
Console.WriteLine("Error message == " + e.Message);
throw;
}
finally
{
try
{
// ...
}
catch(Exception e)
{
Console.WriteLine("An unexpected error occured in the finally block. Error message: " + e.Message);
}
}
}
外部异常如何进入内部异常?我了解在外部catch
区块中,它会被投放到finally
区块中,但是它会立即将 置于其中catch
块的finally
或者try
里面的点是什么?因为如果已经提出异常,那么try
......
答案 0 :(得分:7)
外部异常如何进入内部异常?
不是。
据我所知,在外部捕获区块中,它被扔进了最后 块
是
因为如果已经提出异常,则无需尝试
你好像忽略了什么是明显的阅读。外部的try try catch最终用于捕获标记为
的行中的异常// ...
即。最后,我想做一些可能让他自己感到异常的事情。
答案 1 :(得分:2)
请记住,无论您是否有外部异常(它都不是由外部finally
触发),始终会调用throw
块。
finally
块可能触发它自己的异常,这是内部catch
将捕获的异常。