3.Exception,是另外一个非常重要的异常子类。它规定的异常是程序本身可以处理的异常。异常和错误的区别是,异常是可以被处理的,而错误是没法处理的。
4.Checked Exception
可检查的异常,这是编码时非常常用的,所有checked exception都是需要在代码中处理的。它们的发生是可以预测的,正常的一种情况,可以合理的处理。比如IOException,或者一些自定义的异常。除了RuntimeException及其子类以外,都是checked exception。
5.Unchecked Exception
RuntimeException及其子类都是unchecked exception。比如NPE空指针异常,除数为0的算数异常ArithmeticException等等,这种异常是运行时发生,无法预先捕捉处理的。Error也是unchecked exception,也是无法预先处理的。
###注意点
1 抛出异常后会执行后面代码吗 只要捕获了(try-catch)就可以执行后面的代码.
2 方法之间的调用,只要里面的方法以及捕获住了,外面就不会再捕获了.
3 方法内中有 throw ,就相当于把异常抛出去了 ,后面代码将不会再执行,但会执行将他捕获后的代码。
4 当自定义异常, 只有继承了 RuntimeExcetion 才可以直接用throw,不用手动抛异常。
5 当一个方法中有两个throw时候,就是抛了两个异常的时候,先捕获第一个异常。
6 记得异常无论是在哪捕获的,都要执行finally,就算别方法外的捕获,要先走完finally