finally用法位置 finally什么时候不执行?

finally什么时候不执行?finally execution语句在try catch之后执行,因此不会执行上一个try catch。附言:但不能绝对地说,最后是执行后,尝试捕捉。当有返回值时,tr

finally什么时候不执行?

finally execution语句在try catch之后执行,因此不会执行上一个try catch。附言:但不能绝对地说,最后是执行后,尝试捕捉。当有返回值时,try catch中有return I,finally中的return I将在return之前

在Java语言的异常处理中,finally block的作用是保证无论发生什么情况,finally block中的代码都能被执行。

由于执行return的程序意味着结束对当前函数的调用并跳出函数体,因此任何要执行的语句都只能在return之前执行(除非遇到exit函数),因此finally块中的代码也会在return之前执行。

此外,如果try finally或catch finally中有return,finally块中的return将覆盖其他地方的return语句,finally中的return值将返回给调用者。