Javaのベストプラクティスについて質問があります。私は、構築時にオブジェクトにかなり大きく依存するクラスを作成しています。実際、構築時に渡されたオブジェクトがnullの場合、ほとんどの機能は意味をなしません。オブジェクト構築時に引数としてnullが渡された場合に例外をスローするのが最善だと思いましたが、この場合に最も適切な例外が何であるかはわかりません。NullPointer、IllegalArgument、Instatiation、またはInitialization例外をスローする必要があります。
これらはすべてJavaソースコードベース全体で使用されているのを見てきましたが、NullPointerが使用された理由とIllegalArgumentが使用された理由を区別できないようです。個人的には、構築時に悪い引数が渡されると、初期化エラーが発生するはずだと思っていました。