Java在标准包java.lang中定义了几个异常类。
这些异常中最常见的是标准类型RuntimeException的子类。 由于java.lang默认会隐式导入到所有Java程序中,因此从RuntimeException派生的大多数异常都是自动可用的。
Java定义了与其各种类库相关的几种其他类型的异常。 以下是Java 未检查 RuntimeException的列表。
| 编号 | 异常类 | 描述 |
|---|---|---|
| 1 | ArithmeticException |
算术错误,例如:除以零。 |
| 2 | ArrayIndexOutOfBoundsException |
数组索引超出范围(越界)。 |
| 3 | ArrayStoreException |
分配了不兼容类型的数组元素。 |
| 4 | ClassCastException |
无效类型转换。 |
| 5 | IllegalArgumentException |
使用非法参数调用方法。 |
| 6 | IllegalMonitorStateException |
非法监视操作,例如:等待未锁定的线程。 |
| 7 | IllegalStateException |
环境或应用程序处于不正确的状态。 |
| 8 | IllegalThreadStateException |
请求的操作与当前线程状态不兼容。 |
| 9 | IndexOutOfBoundsException |
某种类型的索引超出范围(越界)。 |
| 10 | NegativeArraySizeException |
使用负数大小来创建数组。 |
| 11 | NullPointerException |
无效使用空引用。 |
| 12 | NumberFormatException |
无效的字符串转换为数字格式。 |
| 13 | SecurityException |
试图违反安全规定。 |
| 14 | StringIndexOutOfBounds |
尝试在字符串的边界之外进行索引。 |
| 15 | UnsupportedOperationException |
遇到了不受支持的操作。 |
以下是java.lang中定义的Java已检查异常列表。
| 编号 | 异常类 | 描述 |
|---|---|---|
| 1 | ClassNotFoundException |
未找到类异常 |
| 2 | CloneNotSupportedException |
尝试克隆未实现Cloneable接口的对象。 |
| 3 | IllegalAccessException |
拒绝访问类异常。 |
| 4 | InstantiationException |
尝试创建抽象类或接口的对象异常。 |
| 5 | InterruptedException |
一个线程被另一个线程中断。 |
| 6 | NoSuchFieldException |
请求的字段不存在。 |
| 7 | NoSuchMethodException |
请求的方法不存在。 |
