Java的异常通常分为已检查异常(checked异常)和未检查异常(unchecked异常)。
我以前一直不理解为何要这样叫。但是现在有点头绪。具体就是:写代码的时候,有些IOException我们的编译器能够检测到的,所以说叫checked异常,写代码的时候空指针异常是检测不到的,所以叫unchecked异常。
所以说,这个已检查和未检查是对于编译器而言的,编译器编译过程中能检查出来的异常就是已检查异常,于是就让你必须写上对应的异常处理逻辑。编译器编译过程中不能检查出来的异常就是未检查异常。