不管有木有出现异常,finally块中代码都会执行;
当try和catch中有return时,finally仍然会执行;
如果语句上的执行顺序是先return后finally,会先执行return后面的语句,这个语句的结果是最终的返回值result。result会被保存下来,再执行finally,待finally执行完成后,再结束函数,将result的值返回。这种情形的finally对变量的值修改不会影响最终的函数返回。
finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
网友评论