try-catch-finally返回值
一、try-catch-finally都有return
测试环境:Java8
时间:2021年1月13日
1、返回基本类型
1.1、正常返回

返回的是finally中的值。
1.2、异常返回

返回的是finally中的值。
2、返回引用类型
2.1、正常返回

返回的是finally中的值。
2.2、异常返回

返回的是finally中的值。
二、finally没有return
1、返回基本类型
1.1、正常返回

返回的是try中的值。
1.2、异常返回

返回的是catch中的值。
2、返回引用类型
2.1、正常返回

返回的是finally中的值。
2.2、异常返回

返回的是finally中的值。
三、总结
- 基本类型:只要finally中有return,就返回finally中的值。finally没有return时,按照正常try,异常catch返回。
- 引用类型:不管finally有没有return,都是返回finally中的值。
如有不妥,还请指正。
本文详细探讨了Java中try-catch-finally块在涉及返回值时的行为。无论是否包含return,当finally存在时,对于基本类型和引用类型的返回,最终都会返回finally块的值。总结指出,对于基本类型,finally有return时总返回finally的值,无return时按try正常,catch异常情况返回;而对于引用类型,始终返回finally块的值。
1047

被折叠的 条评论
为什么被折叠?



