php中文网

在 Java 中,何时使用 try-catch-finally 块?

php中文网

java 中使用 try-catch-finally 块的 3 大时机:处理异常并提供替代行为释放资源,无论代码是否抛出异常确保执行清理代码,即使抛出异常

Java 中使用 try-catch-finally 块的 3 大时机

1. 处理错误并提供替代行为

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

实战案例:

立即学习“Java免费学习笔记(深入)”;

读取一个文本文件,如果文件不存在,则使用默认值。

try {
    BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
} catch (FileNotFoundException e) {
    System.out.println("文件不存在,使用默认值。");
}

2. 释放资源,无论代码是否抛出异常

try (ResourceObject resource = new ResourceObject()) {
    // 可能会抛出异常的代码
} catch (Exception e) {
    // 处理异常
} finally {
    if (resource != null) {
        resource.close();
    }
}

实战案例:

立即学习“Java免费学习笔记(深入)”;

使用 AutoCloseable 接口自动释放文件句柄。

try (BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt"))) {
    // 写入文件
}

3. 确保执行清理代码,即使抛出异常

try {
    // 可能会抛出异常的代码
    return true;
} catch (Exception e) {
    // 处理异常
    return false;
} finally {
    // 始终执行的清理代码
}

实战案例:

立即学习“Java免费学习笔记(深入)”;

在一个服务方法中,无论服务请求是否成功,都要关闭数据库连接。

try {
    // 处理服务请求
    return true;
} catch (Exception e) {
    return false;
} finally {
    closeConnection();
}

以上就是在 Java 中,何时使用 try-catch-finally 块?的详细内容,更多请关注php中文网其它相关文章!