[英]What does this design pattern accomplish?
我试图弄清楚我的书中的代码示例是什么。 它说
在外部异常处理程序的
finally
块中添加内部try-catch
块,以防止丢失异常信息:
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
块的catch
或者内部try
的重点是什么? 因为如果已经有异常,那么就没有什么可以try
......
外部异常如何进入内部异常?
它不是。
据我所知,在外部catch块中它被抛入finally块
是。
因为如果已经提出异常,那么就没有什么可试的了
你好像忽略了什么是明显的阅读。 外部的try try catch最终用于捕获您标记为的行中的异常
// ...
也就是说,最后我想做的事情可能是他自己的例外。
请记住,无论你是否有外部异常(它都不是由外部throw
触发),总是会调用finally
块。 finally
块可能会触发它自己的异常,这就是内部catch
会捕获的异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.