次の方法で共有


CA2219:exception 句に例外を発生させないでください

プロパティ
ルール ID CA2219
Title exception 句に例外を発生させないでください
[カテゴリ] 使用方法
修正が中断ありか中断なしか 中断なし、中断あり
.NET 8 では既定で有効 提案として

原因

例外が finally、filter、または fault 句かスローされます。

規則の説明

例外が exception 句で発生すると、デバッグの難易度が大幅に向上します。

finally 句または fault 句で例外が発生すると、アクティブな例外 (ある場合) が新しい例外によって隠されます。 これにより、元のエラーの検出およびデバッグが困難になります。

filter 句で例外が発生すると、ランタイムではその例外をサイレントにキャッチし、フィルターの評価を false にします。 フィルターが false と評価されていることとフィルターによって例外がスローされていることを区別する方法はありません。 これにより、フィルターのロジックでのエラーを検出してデバッグすることが難しくなります。

違反の修正方法

この規則の違反を修正するには、finally、filter、または fault 句から明示的に例外を発生させないようにします。

どのようなときに警告を抑制するか

この規則に対する警告は抑制しないでください。 exception 句で発生した例外によって実行コードに利点がもたらされるシナリオはありません。

CA1065:予期しない場所に例外を発生させません

関連項目