在Java中,finally关键字的作用是确保执行 finalize 代码块,常用于释放资源。
- finally代码块总会被执行
不管try块中是否有return语句,finally中的代码依然会执行。
## www.itzhimei.com 代码块
try {
//操作
return 1;
} catch(Exception e){
//异常处理
} finally {
//释放资源
}
- finally常用于释放资源
finally块通常用于关闭文件、网络连接、数据库连接等资源。
## www.itzhimei.com 代码块
FileWriter writer = null;
try {
writer = new FileWriter("file.txt");
//操作
} catch(Exception e){
//异常处理
} finally {
if(writer != null){
writer.close();
}
}
- finally与return的执行顺序
返回语句在finally执行前返回,finally中的修改不影响返回值。
## www.itzhimei.com 代码块
public int test() {
try {
return 1;
} finally {
return 2;
}
}
//输出结果:1
总结:
- finally能确保执行收尾语句
- 主要用于释放资源
- 不影响return的值
finally非常有用,可以避免资源泄露问题。