当前位置:首页 > 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块中处理。

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开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

react如何处理异常

react如何处理异常

React 异常处理的基本方法 React 应用中异常处理通常分为组件内错误和全局错误两类。组件内错误可通过 try/catch 或错误边界(Error Boundaries)捕获,全局错误可通过 w…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一…

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java如何创建类

java如何创建类

创建类的基本语法 在Java中,类通过class关键字定义,语法如下: [访问修饰符] class 类名 { // 成员变量(属性) // 构造方法 // 成员方法 }…