ベストプラクティス:C#は異常に再スロー
異常を処理する場合、その
およびスタック追跡情報を保持することは、デバッグに重要です。この記事では、これらの重要な情報を保持するために異常をキャプチャして再投影するベストプラクティスについて説明します。
InnerException
異常な処理コードブロックの比較
次のコードブロックを検討してください:
这两个代码块的关键区别在于它们保留异常细节的方式。通过使用
<code class="language-csharp">try { //某些代码 } catch (Exception ex) { throw ex; }</code>
<code class="language-csharp">try { //某些代码 } catch { throw; }</code>
throw;
相反,第一个代码块显式地重新抛出捕获的异常 InnerException
。但是,此操作会用新的堆栈跟踪覆盖当前堆栈跟踪,从重新抛出
ex
その他の予防策ex
InnerException
また、元の異常を再発した異常のパラメーターとして渡すことをお勧めします。これは、次の文法を通じて実装できます
を使用して、やスタック追跡などの異常を再投与するときに元の異常な情報を保持します。このアプローチは、効果的なデバッグとエラー分析に不可欠です。
以上がC# で例外を再スローするときに例外の詳細を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。