.NET での例外の適切な処理: 重要な詳細の保持
.NET アプリケーションで例外を処理し、再スローする場合、InnerException
やスタック トレースを含む、元の例外のコンテキストを保持することが重要です。 再スローの一般的な方法は次の 2 つです:
<code class="language-csharp">try { // Code that might throw an exception } catch (Exception ex) { throw ex; // Method 1 }</code>
<code class="language-csharp">try { // Code that might throw an exception } catch { throw; // Method 2 }</code>
スタック トレース保存の重要性:
元のスタック トレースを維持することは、デバッグにとって重要です。 これを実現するには、throw;
(方法 2) の使用が推奨される方法です。スタック トレースを変更せずに例外を再スローします。対照的に、throw ex;
(方法 1) は、throw
ステートメントから始まる新しいスタック トレースを作成し、例外の原因に関する貴重な情報を失います。
コンテキスト情報による例外の強化:
場合によっては、再スローされた例外に追加のコンテキストを追加すると有益です。これは、新しい例外インスタンスを作成し、元の例外を InnerException
:
<code class="language-csharp">try { // Code that might throw an exception } catch (Exception ex) { throw new CustomException(ex, "Additional error details."); }</code>
主な推奨事項:
throw;
を使用します。以上が.NET で再スローするときに例外の詳細を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。