实验1 使用try...catch…finaly捕获异常
时间: 2023-07-09 09:10:02 浏览: 154
在 Java 中,我们可以使用 `try...catch...finally` 结构来捕获和处理异常。`try` 块用于包含可能会出现异常的代码,`catch` 块用于捕获异常并进行相应的处理,`finally` 块用于在方法返回前执行一些必要的清理工作,例如释放资源等。
下面是一个使用 `try...catch...finally` 结构来读取文件内容的示例:
```
public static void main(String[] args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("test.txt"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
System.out.println("文件不存在!");
} catch (IOException e) {
System.out.println("读取文件失败!");
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
System.out.println("关闭文件失败!");
}
}
}
}
```
在上面的示例中,我们首先尝试打开名为 `test.txt` 的文件并读取其中的内容。在 `try` 块中,我们使用 `BufferedReader` 类和 `FileReader` 类来读取文件内容,并在 `while` 循环中逐行输出。如果在文件打开或读取的过程中出现了异常,那么就会进入相应的 `catch` 块进行处理。在 `finally` 块中,我们关闭了 `BufferedReader` 对象,确保文件被正确释放。
需要注意的是,在 `finally` 块中,我们需要判断 `BufferedReader` 对象是否为空,并在关闭之前使用一个嵌套的 `try...catch` 结构来捕获可能出现的异常。这是因为在关闭文件时也有可能出现异常,如果不对其进行处理就会导致文件没有正确关闭,从而引发其他问题。
总之,使用 `try...catch...finally` 结构可以帮助我们捕获和处理异常,并在必要的情况下进行一些清理工作,从而保证程序的健壮性和可靠性。
阅读全文