java 中处于异常顶端的是Throwable,所有的异常都是他的子类,Throwable又分为2种,1种是error,另一种是Exception,其中error是java虚拟机抛出的,不用处理,也处理不了,还有1种异常是Exception异常,他下面又分2种,一种是运行时异常(RuntimeException),还有一种是非运行时异常就是除RuntimeException 之外的异常,包含Exception以及其子类的。非编译异常如果不处理,编译时将不会通过。 另外还有区分检查异常(非RuntimeException及子类之外的其他Exception及其子类异常),可以使用try..catch语句捕获或者Thorws,还有种是非检查异常(包含RuntimeException及其子类异常以及Error)。
检查异常的处理有2种 ,一种是try..catch,还有种是throws 抛出。
java 中异常处理的5个关键字,try, catch, finally, throw, throws
注意其中的catch捕获异常中的层级是从小到大处理异常,如果其中有一个catch处理,其他的catch语句将不会进入。
自定义异常 继承自Exception