同時捕捉多個異常
在C#程式碼中處理多個已知異常時,逐一捕獲和處理每個異常可能會很繁瑣。例如,在提供的場景中:
<code class="language-csharp">try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; }</code>
為了簡化此過程,可以考慮使用一個包含所有潛在異常的單一catch區塊,並使用switch語句來區分它們:
<code class="language-csharp">catch (Exception ex) { if (ex is FormatException || ex is OverflowException) { WebId = Guid.Empty; } else { throw; } }</code>
在這種情況下,任何拋出的FormatException或OverflowException都將透過將WebId設為Guid.Empty來處理,而所有其他異常都將被允許傳播。這種方法簡化了程式碼,同時保持對處理預期異常的控制。
以上是C#如何有效率地捕捉多個異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!