java 中使用 try-catch-finally 块的 3 大时机:无论代码是否抛出异常,都要处理异常,并提供替代行为释放资源,以确保执行清理代码,即使抛出异常
Java 中使用 try-catch-finally 块的 3 大时机
1. 处理错误并提供替代行为
try { // 可能会抛出异常代码 } catch (Exceptiontype1 e) { // 处理 exceptiontepe1 异常 } 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 块?详情请关注图灵教育的其他相关文章!