类框架图
主要类说明
Error
Error是Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。在执行该方法期间,无需在其 throws 子句中声明可能抛出但是未能捕获的 Error的任何子类,因为这些错误可能是再也不会发生的异常条件。一般为底层的不可恢复的类。
Exception
Exception类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。必须捕获它的checked exception,不然就得把它的exception传递下去。
RuntimeException(unchecked异常)
RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的RuntimeException 的任何子类都无需在 throws 子句中进行声明。在调用这个方法时不需要捕获这个runtime exception。