当前位置:首页 > Java

java如何捕获异常

2026-02-04 20:16:02Java

捕获异常的基本语法

在Java中,使用try-catch块捕获异常。将可能抛出异常的代码放在try块中,异常处理逻辑放在catch块中。

try {
    // 可能抛出异常的代码
    int result = 10 / 0; // 抛出ArithmeticException
} catch (ArithmeticException e) {
    // 处理异常
    System.out.println("捕获到算术异常: " + e.getMessage());
}

捕获多个异常

可以为一个try块添加多个catch块,分别处理不同类型的异常。

try {
    // 可能抛出多种异常的代码
    int[] arr = new int[5];
    arr[10] = 50; // 抛出ArrayIndexOutOfBoundsException
} catch (ArrayIndexOutOfBoundsException e) {
    System.out.println("数组越界异常: " + e.getMessage());
} catch (ArithmeticException e) {
    System.out.println("算术异常: " + e.getMessage());
}

使用finally

finally块中的代码无论是否发生异常都会执行,通常用于释放资源(如关闭文件或数据库连接)。

try {
    // 可能抛出异常的代码
    FileInputStream file = new FileInputStream("test.txt");
} catch (FileNotFoundException e) {
    System.out.println("文件未找到: " + e.getMessage());
} finally {
    System.out.println("无论是否异常,finally块都会执行");
}

捕获所有异常

使用Exception类可以捕获所有子类异常(不推荐滥用,应尽量明确异常类型)。

try {
    // 可能抛出多种异常的代码
    String str = null;
    System.out.println(str.length()); // 抛出NullPointerException
} catch (Exception e) {
    System.out.println("捕获到异常: " + e.getClass().getName());
}

自定义异常处理

可以通过继承Exception类创建自定义异常,并在catch块中处理。

java如何捕获异常

class CustomException extends Exception {
    public CustomException(String message) {
        super(message);
    }
}

try {
    throw new CustomException("自定义异常示例");
} catch (CustomException e) {
    System.out.println("捕获自定义异常: " + e.getMessage());
}

注意事项

  • 避免空的catch块,至少应记录异常信息。
  • 优先捕获具体异常,而非直接捕获Exception
  • 使用try-with-resources简化资源管理(Java 7+)。
// try-with-resources示例(自动关闭资源)
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    System.out.println("IO异常: " + e.getMessage());
}

标签: 异常java
分享给朋友:

相关文章

java如何编程

java如何编程

Java编程基础 Java是一种面向对象的编程语言,广泛应用于企业级开发、移动应用(Android)等领域。以下是Java编程的核心步骤和示例。 环境搭建 安装JDK 从Oracle官网下载适合…

java如何调用方法

java如何调用方法

调用方法的基本语法 在Java中,调用方法需要明确方法所属的对象(实例方法)或类(静态方法),并传递必要的参数。语法格式如下: 实例方法:对象名.方法名(参数列表); 静态方法:类名.方法名…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

如何搭建java环境

如何搭建java环境

下载JDK 访问Oracle官网或OpenJDK官网下载适合操作系统的JDK安装包。推荐选择长期支持版本(如JDK 17或JDK 21)。 安装JDK 运行下载的安装程序,按照向导完成安装。注意…

java中如何输入

java中如何输入

输入方法 在Java中,可以通过多种方式实现输入操作,具体取决于输入来源和需求。以下是几种常见的输入方法: 使用Scanner类 Scanner类是Java中最常用的输入工具,适用于从控制台或文件读…