Java中的常见异常:深入了解10种常见异常及其场景

Java 异常是程序运行过程中出现的错误,它会中断程序的正常执行。处理异常是 Java 开发者必须掌握的一项基本技能。本文将深入探讨 Java 中 10 种常见的异常类型,并提供详细的解释和代码示例,帮助开发者理解异常的原理、常见场景以及如何处理异常。

1. NullPointerException (空指针异常)

当一个对象引用为 'null' 时,调用该对象的方法或访问该对象的属性时会抛出 NullPointerException 异常。

String str = null;
System.out.println(str.length()); // 抛出 NullPointerException

2. ArrayIndexOutOfBoundsException (数组越界异常)

当访问数组的索引超出数组范围时,会抛出 ArrayIndexOutOfBoundsException 异常。

int[] arr = {1, 2, 3};
System.out.println(arr[3]); // 抛出 ArrayIndexOutOfBoundsException

3. ClassCastException (类型转换异常)

当试图将一个对象强制转换为不兼容的类时,会抛出 ClassCastException 异常。

Object obj = new Integer(1);
String str = (String) obj; // 抛出 ClassCastException

4. IllegalArgumentException (非法参数异常)

当传递给方法的参数不合法时,会抛出 IllegalArgumentException 异常。

public static void printName(String name) {
  if (name == null || name.isEmpty()) {
    throw new IllegalArgumentException("Name cannot be null or empty.");
  }
  System.out.println(name);
}

printName(null); // 抛出 IllegalArgumentException

5. NumberFormatException (数字格式异常)

当字符串无法转换为数字类型时,会抛出 NumberFormatException 异常。

int num = Integer.parseInt("abc"); // 抛出 NumberFormatException

6. FileNotFoundException (文件未找到异常)

当尝试打开一个不存在的文件时,会抛出 FileNotFoundException 异常。

File file = new File("nonexistent.txt");
Scanner scanner = new Scanner(file); // 抛出 FileNotFoundException

7. IOException (输入输出异常)

当发生输入输出异常,如读写文件失败时,会抛出 IOException 异常。

FileWriter writer = new FileWriter("output.txt");
writer.write("Hello world!");
writer.close(); // 假设写入文件失败,则会抛出 IOException

8. InterruptedException (线程中断异常)

当一个线程正在等待另一个线程执行某个操作时,如果被中断,则会抛出 InterruptedException 异常。

Thread.sleep(1000); // 抛出 InterruptedException

9. SQLException (数据库异常)

当对数据库进行操作时,如果发生错误,如连接断开、查询错误等,会抛出 SQLException 异常。

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "user", "password");
Statement stmt = conn.createStatement();
stmt.executeQuery("SELECT * FROM mytable"); // 假设查询失败,则会抛出 SQLException

10. UnsupportedOperationException (不支持的操作异常)

当不支持某个操作时,会抛出 UnsupportedOperationException 异常。

List<String> list = Collections.unmodifiableList(Arrays.asList("a", "b", "c"));
list.add("d"); // 抛出 UnsupportedOperationException

总结

本文介绍了 Java 中 10 种常见的异常类型,并提供了详细的解释和代码示例。开发者应该了解这些异常的原理、常见场景以及如何处理异常。在编写 Java 代码时,应该尽可能地处理可能发生的异常,提高代码的健壮性和可靠性。

Java中的常见异常:深入了解10种常见异常及其场景

原文地址: https://www.cveoy.top/t/topic/pZPG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录