Java主要分为两种异常:java
- checked Exception.能够简单理解为必须捕获的异常,强制抛出。
- unchecked Exception.也就是运行时异常,不用显式抛出,运行时有可能被抛出,client code 没法处理该类yichan。包括ArithmeticException、ClassCastException、 IndexOutOfBoundsException、ArrayIndexOutOfBoundsException,
StringIndexOutOfBoundsException、IllegalArgumentException、NumberFormatException、NullPointerException
Error、RuntimeException及其子类是unchecked Exception,其它的归为checked Exception。程序员
Error是java本身的错误或者诸如内存耗尽等严重错误,是不可抗拒的,client没法处理,显然也没有必要去捕捉。 RuntimeException是你的程序有逻辑错误,是程序员本身的编码问题,尽可能避免就是了。好比NullPointerException等。当遇到这种错误时,java将这个错误自动捕捉到,显示到concole里,而后继续运行。而checked exception若是不捕捉则会致使程序终止。编码