java常见的异常类型
时间: 2023-12-03 11:40:04 浏览: 42
Java中常见的异常类型包括:
1. NullPointerException(空指针异常):当应用程序试图使用空对象引用时,抛出该异常。
2. ArrayIndexOutOfBoundsException(数组越界异常):当应用程序试图访问数组中不存在的元素时,抛出该异常。
3. ClassCastException(类转换异常):当试图将对象强制转换为不是实例的子类时,抛出该异常。
4. ArithmeticException(算术异常):当出现异常的算术条件时,抛出该异常,例如除数为零。
5. IllegalArgumentException(非法参数异常):当向方法传递一个不合法或不正确的参数时,抛出该异常。
6. NumberFormatException(数字格式异常):当应用程序试图将字符串转换为数字类型,但字符串格式不正确时,抛出该异常。
7. IOException(输入输出异常):当发生与输入/输出相关的异常时,抛出该异常。
8. InterruptedException(中断异常):当一个线程处于等待状态,而另一个线程中断了它时,抛出该异常。
9. ClassNotFoundException(类未找到异常):当试图加载类时,找不到相应的类,抛出该异常。
10. NoSuchMethodException(方法未找到异常):当所请求的方法不存在时,抛出该异常。
相关问题
java 受检异常类型
Java 中的异常分为两种类型:受检异常(checked exceptions)和未受检异常(unchecked exceptions)。
受检异常是指在代码编译期间就需要处理的异常,必须在方法签名中声明并处理,否则代码将无法通过编译。常见的受检异常包括 `IOException`、`SQLException`、`ClassNotFoundException` 等。当代码可能抛出受检异常时,可以使用 `try...catch` 块或 `throws` 关键字来处理异常。示例代码如下:
```
public void readFile(String fileName) throws IOException {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(fileName));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.err.println("读取文件出错:" + e.getMessage());
throw e;
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
System.err.println("关闭文件出错:" + e.getMessage());
}
}
}
}
```
在上面的代码中,`readFile` 方法声明了 `IOException` 异常,表示该方法可能抛出 `IOException` 异常。在方法内部,我们使用 `try...catch` 块来捕获可能抛出的 `IOException` 异常,并在 `catch` 块中打印错误信息,并将异常重新抛出。最后,我们在 `finally` 块中关闭文件流,并在可能出现的异常情况下打印错误信息。
未受检异常是指在运行时才能发现的异常,不需要在方法签名中声明,也不需要进行处理。常见的未受检异常包括 `NullPointerException`、`ArrayIndexOutOfBoundsException`、`ClassCastException` 等。当代码可能抛出未受检异常时,可以使用 `try...catch` 块来捕获异常并进行处理,但是这样做并不是必须的。示例代码如下:
```
public int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("除数不能为零");
}
return a / b;
}
```
在上面的代码中,`divide` 方法可能抛出一个 `IllegalArgumentException` 异常,表示除数不能为零。由于 `IllegalArgumentException` 是一个未受检异常,我们不需要在方法签名中声明该异常,也不需要使用 `try...catch` 块来处理异常。当方法抛出该异常时,调用该方法的代码可以选择捕获异常并进行处理,或者将异常继续抛出。
java十大常见异常
Java十大常见异常包括:
1. NullPointerException(空指针异常)- 当程序试图访问一个空对象时抛出。
2. ArrayIndexOutOfBoundsException(数组越界异常)- 当程序试图访问数组的索引超出范围时抛出。
3. ClassCastException(类转换异常)- 当程序试图将一个对象强制转换为不是其类型的子类时抛出。
4. IllegalArgumentException(非法参数异常)- 当方法接收到一个不合法或不适当的参数时抛出。
5. ArithmeticException(算术异常)- 当发生数学运算错误时抛出,例如除以零。
6. IndexOutOfBoundsException(索引越界异常)- 当程序试图访问集合(List、Map等)中不存在的元素时抛出。
7. NoSuchElementException(没有找到元素异常)- 当程序试图从空的集合中获取元素时抛出。
8. UnsupportedOperationException(不支持的操作异常)- 当程序试图对不支持的操作进行操作时抛出。
9. ConcurrentModificationException(并发修改异常)- 当程序在迭代集合的同时对其进行修改时抛出。
10. OutOfMemoryError(内存溢出错误)- 当程序尝试分配超过其可用内存的对象时抛出。