次の方法で共有


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

更新 : 2007 年 11 月

TypeName

DoNotRaiseExceptionsInExceptionClauses

CheckId

CA2219

カテゴリ

Microsoft.Usage

互換性に影響する変更点

なし、あり

原因

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

規則の説明

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

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

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

違反の修正方法

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

警告を抑制する状況

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

関連規則

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

参照

その他の技術情報

デザイン上の警告