【Java成神之路】finally 块中的代码什么时候被执行?一定会被执行吗?
2022-03-08 15:58:36 晓掌柜 版权声明:本文为站长原创文章,转载请写明出处
一、作用
在Java语言的异常处理中,finally块的作用就是为了保证无论出现什么情况,finally块里的代码一定会被执行。
二、finally与reeturn的顺序问题
由于程序执行return就意味着结束对当前函数的调用并跳出这个函数体,因此任何语句要执行都只能在return前执行(除非碰到exit函数),因此finally块里的代码也是在return之前执行的。
此外,如果try-finally或者catch-finally中都有return,那么finally块中的return将会覆盖别处的return语句,最终返回到调用者那里的是finally中return的值。
三、总结
1、finally一定会被执行
2、finally的代码是在return之前执行的
3、finally中写入了return时会覆盖别处的return,最终返回的是finally中的return