【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


最新评论: