一、什么是异常
异常是一种对象,表示阻止正常进行程序执行的错误或者情况,包括数组下标越界、除数为零、网络连接失败、非法参数、空指针异常、文件找不到等。
二、异常的种类
这些异常类可分为三种主要类型:系统错误、异常和运行时异常。
系统错误(system error)
由Java虚拟机抛出,用Error类表示。Error类描述的是内部系统错误。这样错误很少发生。如果发生,除了通知用户以及尽量稳妥地终止程序外,几乎什么也不能做。
如:
LinkageError - 一个类对另一个类有某种依赖性,但是编译前者在后,后者进行了修改,变得不兼容
VirtualMachineError - Java虚拟机崩溃,或者运行所需的资源已经耗尽
异常(exception)
用Exception类表示,描述的是由程序和外部环境所引起的的错误,这些错误能被程序捕获和处理。
如:
ClassNotFoundException - 试图调用不存在的类
IOException - 同输入/输出有关的操作,如无效输入、读文件超过文件尾、打开一个不存在的文件等。
运行时异常(runtime exception)
用RuntimeException类表示,描述的是程序设计错误,通常由Java虚拟机抛出。
常见的有:
NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常
IllegalArgumentException - 传递非法参数异常
ArithmeticException - 算术运算异常(一个整数除以0,浮点数的算数运算不抛出异常)
ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
IndexOutOfBoundsException - 下标越界异常
NegativeArraySizeException - 创建一个大小为负数的数组错误异常
NumberFormatException - 数字格式异常
SecurityException - 安全异常
UnsupportedOperationException - 不支持的操作异常