在 Java 中,finally 块是可以省略的,try 并不强制要求必须有 finally。
try {
// 可能抛出异常的代码
} catch (Exception e) {
// 异常处理
}
上面这种写法是合法且常见的,没有 finally 完全没问题。
语法上从不需要 finally,但在以下场景中“通常建议”使用:
try {
// 打开资源
} catch (Exception e) {
// 处理异常
} finally {
// 关闭资源
}
但在 JDK 7+ 推荐使用 try-with-resources,可以省略 finally:
try (BufferedReader br = new BufferedReader(...)) {
// 自动关闭
}
try-finally 也可以没有 catch:try {
// 代码
} finally {
// 一定会执行
}
这是允许的。
finally 不能单独存在,必须配合 try。✅ finally 可以省略
✅ try 可以只有 catch
✅ try 也可以只有 finally
❌ finally 不能单独写
如果你愿意,我也可以帮你对比 finally vs return vs try-with-resources 的执行顺序。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。