在真实示例中使用 finally
Finally 代码块通常用于关闭并清理正在使用的资源,例如数据库或文件——无论是正常流程还是发生了异常。
在这里,您将通过方法调用来模拟打开文件、向文件写入文本以及关闭文件。您将使用 finally 来关闭这个模拟文件,无论在此过程中是否发生异常。
本练习是课程的一部分
Java 的数据类型与异常
练习说明
- 在会打开文件并向文件写入内容的工作代码周围开始一个 try 代码块。
- 捕获在打开模拟文件或向其写入文本时可能发生的「任何」异常。
- 添加一个 finally 代码块来关闭这个模拟文件;无论程序正常运行,还是在打开或写入文件时发生异常,都会执行它。
交互式实操练习
通过完成这段示例代码来试试这个练习。
public class FinallyCleanup {
public static void main(String[] args) {
String[] words = { "Lorem", "ipsum", "dolor", "sit", "amet" };
// Open a try block
____ {
open();
for (int i = 0; i <= words.length; i++) {
writeToFile(words[i]);
}
// Catch any possible exception
} ____ (____ ____) {
System.out.println("Problem writing words to file");
// Add a finally block to close the file
} ____ {
close();
}
}
public static void open() {
System.out.println("Our file is open");
}
public static void close() {
System.out.println("Our file is closed");
}
public static void writeToFile(String text) {
System.out.println(text + " has been written to the file");
}
}