当前位置:首页 > Java

java如何捕捉异常

2026-03-24 13:58:57Java

Java 异常捕捉基础

在 Java 中,异常捕捉主要通过 try-catch-finally 语句块实现。try 块包含可能抛出异常的代码,catch 块用于处理特定类型的异常,finally 块用于执行无论是否发生异常都必须运行的代码。

try {
    // 可能抛出异常的代码
    int result = 10 / 0;
} catch (ArithmeticException e) {
    // 处理算术异常
    System.out.println("除数不能为零");
} finally {
    // 清理资源或后续操作
    System.out.println("执行完毕");
}

多异常捕捉

Java 7 及以上版本支持在一个 catch 块中捕捉多个异常,用竖线 | 分隔异常类型。

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

异常链与重新抛出

捕捉异常后可以重新抛出,或包装成更高级别的异常。通过 throw 关键字实现。

try {
    // 可能抛出异常的代码
    someMethod();
} catch (IOException e) {
    // 包装成更高级别异常
    throw new RuntimeException("IO 操作失败", e);
}

自定义异常

通过继承 ExceptionRuntimeException 创建自定义异常类。

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

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

try-with-resources

Java 7 引入 try-with-resources 语法,自动管理资源(如文件流、数据库连接)。资源需实现 AutoCloseable 接口。

java如何捕捉异常

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("文件读取异常");
}

最佳实践

  • 优先捕捉具体异常而非通用异常(如 Exception)。
  • 避免空的 catch 块,至少记录异常信息。
  • 使用 finally 块释放非自动管理资源。
  • 在方法签名中声明可能抛出的检查异常(throws)。

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

相关文章

java如何创建线程

java如何创建线程

创建线程的方法 在Java中,创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法可以创建线程。…

java如何安装

java如何安装

安装Java的步骤 下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面下载适合操作系统的JDK版本。Oracle JDK适用于商业用途,OpenJDK是开源版本。选择…

如何运行java文件

如何运行java文件

运行Java文件的方法 确保已安装Java Development Kit (JDK),可通过命令行输入java -version和javac -version验证安装。 编写Java代码并保存为.…

win7如何配置java环境变量

win7如何配置java环境变量

下载并安装Java 从Oracle官网下载适合的Java Development Kit (JDK)安装包,选择与系统位数(32位或64位)匹配的版本。运行安装程序,按照提示完成安装,默认路径通常为C…

如何精通java

如何精通java

理解Java核心概念 Java的基础知识包括数据类型、变量、运算符、控制流语句(如循环和条件判断)、数组以及面向对象编程(OOP)的核心概念(类、对象、继承、多态、封装)。熟练掌握这些内容是后续学习的…

php异常实现

php异常实现

PHP 异常处理基础 PHP 异常处理通过 try、catch、throw 和 finally 关键字实现。异常用于在程序执行过程中遇到错误时改变正常流程。 try { // 可能抛出异常的…