Checked 异常与 Runtime 异常
Runtime exceptions 是 runtime 阶段碰到的异常. 在编译的时候不需要检查 (checked). 例如, 数组脚本越界(ArrayIndexOutOfBoundsException) , 空指针异常(NullPointerException), 类转换异常(ClassCastException).
Checked exception 是在编译阶段的异常,并且强制检查.
编译器强制 checked 异常必须try..catch处理或用throws声明继续抛给上层调用方法处理, 这就是为什么叫checked异常, 而 Runtime 异常可以处理也可以不处理, 所以, 编译器不强制用try..catch处理或用throws声明, 所以 Runtime 异常也称为unchecked异常