Java在标准包java.lang中定义了几个异常类。
这些异常中最通用的是标准类型RuntimeException的子类。由于java.lang被隐式导入所有Java程序中,因此从RuntimeException派生的大多数异常都是自动可用的。
Java定义了与其他各种类库相关的几种其他类型的异常。以下是Java Unchecked 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 Checked异常列表。
序号 | 例外与说明 |
---|---|
1 | ClassNotFoundException 找不到类。 |
2 | CloneNotSupportedException 尝试克隆未实现Cloneable接口的对象。 |
3 | IllegalAccessException 拒绝访问类。 |
4 | InstantiationException 尝试创建抽象类或接口的对象。 |
5 | InterruptedException 一个线程已被另一个线程中断。 |
6 | NoSuchFieldException 请求的字段不存在。 |
7 | NoSuchMethodException 请求的方法不存在。 |