我有一个关于 Java 最佳实践的问题。我正在写一个类,它非常依赖于构造中的对象。事实上,如果在构造时传入的对象为空,那么大部分功能都没有意义。我认为最好在对象构造时将 null 作为参数传递的情况下抛出异常,但我不知道在这种情况下最合适的异常是什么。我应该抛出 NullPointer、IllegalArgument、Instatiation 还是初始化异常。
我已经看到这些都在整个 Java 源代码库中使用,我似乎无法区分为什么在某些情况下使用 NullPointer 而在其他情况下使用 IllegalArgument。我个人会认为,如果在构造时传入了错误的参数,则应该会发生一些初始化错误。