CA2219: exception 句に例外を発生させないでください
TypeName |
DoNotRaiseExceptionsInExceptionClauses |
CheckId |
CA2219 |
カテゴリ |
Microsoft.Usage |
互換性に影響する変更点 |
なし、あり |
原因
finally 句、filter 句、または fault 句から例外がスローされます。
規則の説明
exception 句で例外が発生する場合、デバッグがきわめて困難になります。
finally 句または fault 句で例外が発生すると、アクティブな例外がある場合は、それが新しい例外によって隠れてしまいます。 これにより、元のエラーの検出およびデバッグが困難になります。
filter 句で例外が発生すると、ランタイムがその例外を暗黙的にキャッチし、その結果、フィルターが false と評価されます。 フィルターが false と評価された場合とフィルターから例外がスローされた場合を見分けることはできません。 そのため、フィルターのロジック内でエラーを検出し、デバッグすることが困難になります。
違反の修正方法
この規則違反を修正するには、finally 句、filter 句、または fault 句で例外が明示的に発生しないようにします。
警告を抑制する状況
この規則による警告は抑制しないでください。 exception 句で例外を発生させることがコードの実行に利点をもたらすという状況はありません。