首先,我们应该清楚的知道这四个类的关系,关系如图:
接下来我们顺序看一下这几个类。
一、Throwable
类
Throwable
类是 Java 语言中所有错误或异常的超类。那么,我们可以在catch中,随意new一个此类或其子类。同样的,抛出的异常信息,也将是此类或其子类的一种。
二、Error 类
不应在合理程序中出现及捕获的严重问题。我们也可以理解为Error错误就是程序挂了。
三、Exception 类
那与Error相对应,Exception 类就是我们正常程序想要捕获的异常。
Exception 类异常包括 检查异常和非检查异常(也就是下面我们要说的RuntimeException )
检查异常时我们手动添加的异常捕获
四、RuntimeException 类(非检查异常)
RuntimeException
是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。
可能在执行方法期间抛出但未被捕获的, RuntimeException
的任何子类都无需在 throws
子句中进行声明。
比如可能出现的数组越界,类型转换错误等等。