4

Exception理にかなっている場合、システム例外を継承することは良い習慣ですか? たとえばSystem.InvalidOperationException、カスタム例外が特定の種類の「無効な操作」である場合、継承するのが賢明でしょうか?

私が尋ねている理由はInvalidOperationException、同じメッセージをスローする多くのクラスがあります。これらを、独自のデフォルト メッセージを定義できるカスタム例外に置き換えることを検討しています。を継承する場合、ハンドラーInvalidOperationExceptionをリファクタリングする必要はありません。catch

4

2 に答える 2

4

いいえ、これの短くて簡単な理由は、ドキュメントによるとSystemExceptionInvalidOperationExceptionから派生するためです

System 名前空間で定義済みの例外の基本クラスを定義します。

Exceptionから派生させることがベスト プラクティスと見なされます。


明確にするために-から派生することに問題はありませんInvalidOperationException(少なくとも私が知っていること)。ただし、既製の例外から派生すると、InvalidOperationException必要のない余分な荷物がかかる可能性があります. あなたがする必要がある本当の質問は

InvalidOperationException「オーバーから導き出すことで、私は一体何を得ようとしているのだろうException

私の個人的な経験から言えば、Exception.

于 2013-09-23T15:14:48.683 に答える