链接:异常处理
Java中被封装了各种异常类,异常体系如下:
Object类
Throwable类
Error类
Exception类
RuntimeException类:NumberFormatException
SQLException,ClassNotFoundException
所有异常类型都是Throwable类的子类,它派生两个子类:Error类和Exception类。
(1)Error类:表示紧靠程序本身无法恢复的验证错误,如内存溢出、动态链接失败、虚拟机错误。应用程序不应该抛出这种类型的错误(一般由虚拟机抛出)。假如出现这种错误,应尽力使程序安全退出。所以在进行程序设计时,应该更关注Excep类。
(2)Exception类:由Java应用程序抛出和处理的非严重错误、如所需文件找不到、网络连接不通或中断、算数运算出错(如零被整除)、数组下标越界、装载一个不存在的类、对null对象进行操作、类型转换异常等。它的各种不同的子类分别对应不同类型的异常。Exception类分为两大类异常:
运行时异常:包括RuntimeException及其使用子类。不要求程序必须对他们做出处理。
Checked异常(非运行时异常):除了运行时异常之外的其他由Exception继承来的异常类。
异常 | 说明 |
Exception | 异常层次结构的跟类Arithmetic |
ArithmeticException | 算数错误情形,如以零作为除数 |
ArrayIndexOutOfBoundsException | 数组下标越界 |
NullPointerException | 尝试访问null对象成员 |
InputMismatchException | 欲得到的数据类型与实际输入的类型不匹配 |
ClassCastException | 对象强制类型转换出错 |
NumberFormatException | 数字格式转换异常,如把“abc”转换成了数字 |
IllegalArgumentException | 方法接收到非法参数 |
ClassNotFoundException | 不能加载所需的类 |