当前位置:首页 > 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块,分别处理不同类型的异常。

java如何捕获异常

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

java如何捕获异常

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块中处理。

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需要明确目标,例如开发Web应用、Android应用或后端服务。根据目标选择学习重点,如Java基础、Spring框架或Android开发。制定阶段性计划,从基础语法到…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

java如何处理异常

java如何处理异常

异常处理的基本概念 Java中的异常处理机制通过try-catch-finally块实现,用于捕获和处理程序运行时可能出现的错误。异常分为Checked Exception(编译时检查,如IOExce…

java如何实现多继承

java如何实现多继承

在Java中,由于语言设计本身不支持多继承(即一个类不能直接继承多个父类),但可以通过以下方式间接实现类似多继承的效果: 使用接口实现多继承 接口允许一个类实现多个接口,从而继承多个抽象行为。接口中…

如何导入java项目

如何导入java项目

导入Java项目的方法 使用IDE导入(如IntelliJ IDEA或Eclipse) 打开IDE后选择导入现有项目,导航至项目根目录(包含pom.xml或build.gradle的文件位置)。IDE…

java如何返回数组

java如何返回数组

返回数组的方法 在Java中,可以通过多种方式返回数组。以下是几种常见的方法: 直接返回数组 定义一个方法,返回类型为数组类型,直接在方法内部创建并返回数组。 public int[] getI…