阅读量:172
在编程中,try-catch 和 finally 块通常用于处理异常和资源管理
- try:在这个代码块中,你将放置可能抛出异常的代码。如果在此代码块中发生异常,控制流将立即跳转到相应的
catch块。 - catch:这个代码块用于捕获并处理在
try块中抛出的特定异常。你可以为不同类型的异常提供多个catch块。当try块中的异常被抛出时,相应的catch块将被执行。 - finally:这个代码块包含无论是否发生异常都需要执行的代码。它通常用于释放资源,如关闭文件、数据库连接或网络连接等。无论
try块是否成功完成,或者是否有匹配的catch块,finally块都将被执行。
下面是一个示例,展示了如何组合使用 try-catch 和 finally 块:
public class TryCatchFinallyExample {
public static void main(String[] args) {
FileInputStream fis = null;
try {
fis = new FileInputStream("example.txt");
// 在这里处理文件内容
} catch (FileNotFoundException e) {
System.out.println("文件未找到异常: " + e.getMessage());
} catch (IOException e) {
System.out.println("I/O 异常: " + e.getMessage());
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
System.out.println("关闭文件时发生异常: " + e.getMessage());
}
}
}
}
}
在这个示例中,我们尝试打开一个名为 “example.txt” 的文件。如果文件不存在或无法读取,try 块中的代码将抛出异常。相应的 catch 块将捕获并处理这些异常。无论是否发生异常,finally 块都将执行,尝试关闭文件输入流。