异常是指程序运行时发生的错误。
Throwable是所有异常的父类,它有两个子类:Error和Exception。
1.Error表示程序在运行期间发生了非常严重的错误,并且该错误是不可恢复的。Error不需要捕捉。如:OutOfMemoryError。
2.Exception是可恢复的异常。它包括2种异常:检查异常和运行时异常。
2.1检查异常(Check Exception)
比如IOexception、SQLException和FileNotFoundException都是检查异常。它发生在编译阶段,编译器会强制程序去捕获此类异常,需要在编译时用try-catch捕获。
2.2运行时异常
发生在运行时阶段,编译器不会检查运行时异常。比如空指针异常,算数运算异常,数组越界异常等。如果代码产生RuntimeException异常,则需要通过修改代码进行避免。