博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?...
阅读量:7025 次
发布时间:2019-06-28

本文共 521 字,大约阅读时间需要 1 分钟。

hot3.png

一般人都会回答在return之前执行,但是更详细的我觉得应该是在return中执行的。

例如:

        

public  class Test {

public static void main(String[] args) {

System.out.println(new Test().test());

}

static int test()

{

int x = 1;

try

{

return x=4;

}

finally

{

System.out.println(finally+x);

}

}

}

 结果:

          finally4

         4

 

我的理解是,当try运行到return后,就会执行后面的x=4赋值语句,注意只是单纯的赋值并没有return,

然后在执行finally中的东西System.out.println(finally+x);然后打出一行“finally4”,

finally执行完了后才执行return,返回值,然后mian函数中通过

System.out.println(new Test().test());

这句话打印出“4”来。

 

 

转载于:https://my.oschina.net/sunchenbin/blog/633004

你可能感兴趣的文章
MySQL查询性能优化---高性能(二)
查看>>
hadoop零基础系列之一:虚拟机下的Linux集群构建
查看>>
近 100 个 Linux 常用命令大全
查看>>
Bootstrap CSS
查看>>
Entity FrameWork 单表对多实体
查看>>
实验一框架的原因及说明
查看>>
第二次测试
查看>>
c语言编程之栈(链表实现)
查看>>
[leetcode-299-Bulls and Cows]
查看>>
python import
查看>>
hdu 1556 Color the ball
查看>>
第二次作业
查看>>
将用户输入的字符串反向输出到页面上,并且要求将其中的小写字母转换成大写字母。...
查看>>
somatic和germline突变有什么区别
查看>>
Android的TextView使用Html来处理图片显示、字体样式、超链接等
查看>>
python re的findall和finditer
查看>>
Feign 第一个Feign程序 一
查看>>
入门知识
查看>>
configparser 文件的生成和读写
查看>>
20个PHP程序性能优化的方法
查看>>