异常分为两大类:Error,Exception。父类都是Throwable
Error:程序发生错误,导致程序终止,捕捉不到。发生在运行时期。
情景1:误写代码,比如:少了一个字母;少了一个分号。报错:找不到XX;添加“;”。
情景2:误删代码,比如:删了A类;删了b方法。报错:找不到A类;找不到b方法。
Exception又分为Runtime Exception(运行时异常)、Cheked Exception(可检查异常,也有人叫普通异常、可恢复异常)。
Runtime Exception:每行代码都可能会出现异常,没必要时不用捕捉,通过系统自行检测。常见:空指针,数组越界,类转换异常,非法参数异常等。
Checked Exception:编译时,如果不进行捕捉,直接报错。常见:ClassNotFoundException、NoSuchMethodException、IOException。