Java では、いつ をスローしIllegalArgumentException
、いつ をスローすればよいのでしょうかInvalidParameterException
? C# のバックグラウンドから来ると、ArgumentNullException
から派生した があります。 Java で同等の/ArgumentException
を実装する場合、 を拡張するべきでしょうか、それとも でしょうか?ArgumentNullException
ParameterNullException
IllegalArgumentException
InvalidParameterException
注: を実装しようとしているわけではありませんArgumentNullException
。ParameterNullException
これらを C# フレームワークと一致させることができれば、理解が深まるだけです。
ベストアンサー1
これらの例外をサブクラス化する必要性は明らかにありません。メソッドが不正な引数で呼び出されたことを通知するために、すぐにそれらを使用します。例外メッセージ部分に常に実際の原因を説明します。
java.security.InvalidParameterException
すでにサブクラスであるIllegalArgumentException
JCA/JCEエンジンクラスで使用するために設計されています(JavaDoc) 異なるコンテキストで使用したりサブクラス化したりすることはないでしょう。