您的位置:首页 > 职场人生

Java面试题—try语句中执行return语句

2015-12-15 18:42 253 查看
题目:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

public class TryCatchDemo {
public static void main(String[] args) {
System.out.println(new Demo().myfunction());
}
}

class Demo {
public int myfunction() {
int x = 1;
try {
System.out.println("try block");
return x;
} catch (Exception e) {
e.printStackTrace();
} finally {
++x;
System.out.println("finally block");
}
return x;
}
}


执行结果:

try block
finally block
1


从结果中我们可以总结以下几点:

1、尽管在try块中执行了return语句,但是finally块仍然会执行。

2、从最终返回的结果为1,我们知道,return语句并不是在finally语句块执行之后执行的,而是在执行return语句的过程中,它会进入finally块中进行执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: