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