次の方法で共有


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

TypeName

DoNotRaiseExceptionsInExceptionClauses

CheckId

CA2219

[カテゴリ]

Microsoft.Usage

互換性に影響する変更点

なし、あり

原因

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

規則の説明

exception 句で例外が発生する場合、デバッグがきわめて困難になります。

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

filter 句で例外が発生すると、ランタイムがその例外を暗黙的にキャッチし、その結果、フィルターが false と評価されます。フィルターが false と評価された場合とフィルターから例外がスローされた場合を見分けることはできません。そのため、フィルターのロジック内でエラーを検出し、デバッグすることが困難になります。

違反の修正方法

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

警告を抑制する状況

この規則による警告は抑制しないでください。exception 句で例外を発生させることがコードの実行に利点をもたらすという状況はありません。

関連規則

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

参照

その他の技術情報

デザイン上の警告