考虑到有意义的地方,我们应该始终使用内置异常而不是定义我们自己的异常,即:
IllegalArgumentException
- 方法传入无效参数时抛出,即不允许为nullIllegalStateException
- 在不允许调用方法时抛出(即setup()
必须先调用。
当由于用户尝试读取或写入他们无权操作的资源而引发异常时,最好的异常类型是什么(如果有的话)。你会推荐使用SecurityException
or吗AccessControlException
,或者这听起来没有意义。