自定义异常类 - 从异常或可显示扩展?
2022-09-02 12:19:05
Throwable
是所有可能出现的不良情况的类:错误和异常。
Error
是一些东西,你根本无法处理:,,等。OutOfMemoryError
VirtualMachineError
Exception
适用于特殊情况。
例外情况有两种口味:
RuntimeException
s.
这些,你不知道:,,等。NullPointerException
ClassCastException
Checked
异常。
这些是异常,您的代码知道这些异常,并且应该显式捕获 (): s 等。... throws MyException
IOException
如果您希望代码的用户显式处理一些异常情况,最好只扩展 ,而不是 .无需扩展 。Exception
RuntimeException
Throwable
Throwable
是 & 的超级类。Error
Exception
就像,也可以扔和处理。Exception
Error
但根据以下文档,这是不可取的:
您不需要捕获错误对象或错误子类型。你也可以自己抛出一个错误(尽管除了断言错误之外,你可能永远都不想),你可以抓住一个错误,但同样,你可能不会。例如,如果你得到了一个OutOfMemoryError,你实际上会怎么做?
牢记这个概念,如果你想投掷和/或抓住两者,我建议扩展。如果您只想投掷和/或接球,请延长。Throwable
Exception
Error
Exception
Exception