ホームページ >Java >&#&チュートリアル >IllegalArgumentException または NullPointerException: Null Setter パラメータに対してどちらの例外をスローするか?
Null または無効な引数: IllegalArgumentException と NullPointerException
セッター メソッドを定義する際の一般的なジレンマは、セッター メソッドを定義するときにスローする適切な例外を決定することです。 null パラメータを受け取りました。 Java ドキュメントに基づくと、IllegalArgumentException (IAE) と NullPointerException (NPE) はどちらも該当するようです。
IAE と NPE: 違い
NPE は通常、次の場合にランタイムによってスローされます。 null が不適切に使用されています。対照的に、IAE は、不正または不適切な引数がメソッドに渡されたことを示すように明示的に設計されています。
IAE を使用する理由
setter メソッドでは、いくつかの点で NPE よりも IAE の方が適しています。理由:
API の使用法と反論
Java API の一部では null 引数に NPE が使用されていますが、この一貫性のないアプローチは、IAE ではなく NPE を使用することを正当化するべきではありません。この特定の文脈では。上記の理由により、セッター メソッドの不正な null パラメーターに対する IAE の使用が強く支持されます。
以上がIllegalArgumentException または NullPointerException: Null Setter パラメータに対してどちらの例外をスローするか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。