java中针对 try和finally一些总结
2024-09-04 20:40:43
结论
1、不管有没有异常,finally中的代码都会执行
2、当try、catch中有return时,finally中的代码依然会继续执行
3、finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管finally对该值做任何的改变,返回的值都不会改变,依然返回保存起来的值。也就是说方法的返回值是在finally运算之前就确定了的。
4、finally代码中最好不要包含return,程序会提前退出,也就是说返回的值不是try或catch中的值
public static int tryCatch(){
int i = 1;
try {
return i;
}finally {
// return ++i;
++i;
}
}
验证结论2.3
输出结果1
public static int tryCatch(){
int i = 1;
try {
return i;
}finally {
return ++i;
}
}
验证结论4
输出结果 是2
最新文章
- 【小白的CFD之旅】03 老蓝
- 我需要在Web上完成一个图片上传的功能后续(+1)
- linux命令(4):mkdir命令
- 【T-SQL基础】01.单表查询-几道sql查询题
- asp.net中使用单例
- Ubuntu之Mysql安装及基本设置
- centos安装redis及php-redis扩展
- define 实例
- 8 个 Git 的小技巧
- [drp 6]接口和抽象类的区别,及其应用场景
- 将表中数据生成SQL语句
- oppo X907刷机包 COLOROS 1.0 正式版公布 安卓4.2.2
- java学习笔记 (1) —— Strut2.3.24环境搭建
- poj 1088 滑雪_记忆化搜索
- UIView 属性
- 【转】ActionScript,Flash,Flash/Flex Builder,FlashPlayer,AIR,swf,swc,swz之间的区别
- 修真院java后端工程师学习课程--任务1(day one)
- [Swift]LeetCode894. 所有可能的满二叉树 | All Possible Full Binary Trees
- Ubuntu-18.04安装Docker
- 12. SpringBoot国际化