[英]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.