簡體   English   中英

這種設計模式實現了什么?

[英]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塊,但它是否會立即catchfinally塊的catch或者內部try的重點是什么? 因為如果已經有異常,那么就沒有什么可以try ......

外部異常如何進入內部異常?

它不是。

據我所知,在外部catch塊中它被拋入finally塊

是。

因為如果已經提出異常,那么就沒有什么可試的了

你好像忽略了什么是明顯的閱讀。 外部的try try catch最終用於捕獲您標記為的行中的異常

// ...

也就是說,最后我想做的事情可能是他自己的例外。

請記住,無論你是否有外部異常(它都不是由外部throw觸發),總是會調用finally塊。 finally塊可能會觸發它自己的異常,這就是內部catch會捕獲的異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM