インタビューの準備をしていると、Gayle Laakman のキャリア カップ ビデオの 1 つに、ある男が配列を取り込んでそれを使って何かを行う簡単なメソッドを書いています。彼女はエラーチェックの欠如について言及しているので、彼はこの行に次のように追加します:
public int max(int[] array) {
if (array == null)
throw new NullPointerException();
//method body
}
このような NPE 例外を手動でスローするのは正しいですか。この例外は、ある時点で配列参照を使用するため、メソッド本体でスローされます。
これの考えられる利点は、入力の無効化をメソッドロジックが無効であり、何らかの方法で null 参照を作成することから切り離すことです。それ以外の場合は少し混乱し、IllegalArgumentException の方が適切に機能するのではないでしょうか?