参考文章: Exception、Error、运行时异常与一般异常有何异同
一
Throwable是Java中所有处理错误的父类,有2个子类:Error和Exception.
其中Exception又分为一般异常(cheecked exception)与运行时异常(runtime exception)
二.先说Error和Exception的区别
1.Error是JVM层次的严重错误,导致JVM无法继续执行.无法采取任何恢复操作,顶多显示错误.除了尽力使程序安全退出外,没有其他的方法解决.
(JDK/JVM/JRE的区别:
JDK开发工具包
JRE运行时环境
JVM:Java虚拟机
JDK=JRE+JVM+Java其他,JRE中也包括JVM
详见JDK、JRE、JVM三者间的关系)
2.Exception是可以调试,可以捕捉,可以恢复的
三.再说Exception中的一般异常与运行时异常
Java提供了两类异常:一般异常与运行时异常
一般异常:调用方法能处理的异常,多出现在编译期.
运行时异常:调用方法无法处理的异常.平时见到的就是这个,如空指针(NullPointerException)/类型转换异常(java.lang.ClassCastException)/数组越界异常(java.lang.ArrayIndexOutOfBoundsException)