当前位置:首页 > 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如何react

java如何react

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

如何配置java环境变量

如何配置java环境变量

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

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…

vue实现java登录注册

vue实现java登录注册

实现 Vue 与 Java 后端的登录注册功能 前端 Vue 部分 安装必要的依赖(如 axios 用于 HTTP 请求): npm install axios 创建登录表单组件(Login.vue…

php 实现java md5加密

php 实现java md5加密

PHP 实现 Java MD5 加密的兼容方法 Java 和 PHP 的 MD5 加密结果可能存在差异,主要因字符编码或输出格式不同。以下是确保两者结果一致的方法: 使用 hash 函数并处理编码…