当前位置:首页 > Java

java如何catch

2026-03-19 18:22:26Java

捕获异常的基本语法

在Java中,使用try-catch块捕获异常。try块包含可能抛出异常的代码,catch块用于处理捕获的异常。基本语法如下:

try {
    // 可能抛出异常的代码
} catch (ExceptionType e) {
    // 处理异常的代码
}

捕获特定异常

可以指定具体的异常类型(如NullPointerExceptionArrayIndexOutOfBoundsException),仅捕获目标异常:

try {
    String str = null;
    System.out.println(str.length());
} catch (NullPointerException e) {
    System.out.println("捕获到空指针异常: " + e.getMessage());
}

捕获多个异常

通过多个catch块分别处理不同类型的异常,或使用|合并捕获:

java如何catch

try {
    int[] arr = new int[5];
    arr[10] = 1; // ArrayIndexOutOfBoundsException
} catch (NullPointerException e) {
    System.out.println("空指针异常");
} catch (ArrayIndexOutOfBoundsException e) {
    System.out.println("数组越界异常");
}

// Java 7+ 支持多异常合并捕获
try {
    // 可能抛出多种异常的代码
} catch (NullPointerException | ArrayIndexOutOfBoundsException e) {
    System.out.println("捕获到异常: " + e.getClass().getSimpleName());
}

捕获所有异常

使用Exception类捕获所有可能的异常(不推荐过度使用,可能掩盖潜在问题):

try {
    // 可能抛出异常的代码
} catch (Exception e) {
    System.out.println("捕获到异常: " + e.getMessage());
}

使用finally块

finally块无论是否发生异常都会执行,常用于资源清理(如关闭文件流):

java如何catch

try {
    // 可能抛出异常的代码
} catch (Exception e) {
    System.out.println("异常处理");
} finally {
    System.out.println("最终执行块");
}

自定义异常处理

通过继承ExceptionRuntimeException创建自定义异常,并在catch中处理:

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

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

异常链与重新抛出

捕获异常后可通过throw重新抛出,或使用initCause()关联异常原因:

try {
    // 可能抛出异常的代码
} catch (IOException e) {
    throw new RuntimeException("高层异常", e); // 包装原始异常
}

注意事项

  • 避免空的catch块,否则会隐藏错误。
  • 优先捕获具体异常而非通用的Exception
  • 使用try-with-resources自动管理资源(Java 7+):
    try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
      // 自动关闭资源
    } catch (IOException e) {
      e.printStackTrace();
    }

标签: javacatch
分享给朋友:

相关文章

java如何

java如何

Java 基础语法 Java 是一种面向对象的编程语言,语法相对严谨。每个 Java 程序必须包含一个 main 方法作为程序入口。以下是一个简单的 Java 程序示例: public class…

java如何下载

java如何下载

下载Java的步骤 访问Oracle官方网站或OpenJDK项目页面下载Java开发工具包(JDK)。Oracle JDK适用于商业用途,OpenJDK为开源版本。 打开浏览器,进入Oracle J…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

如何自学java

如何自学java

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

java如何上传文件

java如何上传文件

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

java如何连接数据库

java如何连接数据库

Java连接数据库的方法 Java连接数据库通常使用JDBC(Java Database Connectivity)技术,以下是具体步骤和示例代码。 加载数据库驱动 在连接数据库之前,需要加载对应的…