try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
来源:互联网 发布:vue.js监听输入框变化 编辑:程序博客网 时间:2024/05/18 17:05
package com.luffy.interview;
public class FinallyAndReturn {
public int test(){
int x = 1;
try{
return x;
}finally{
++x;
System.out.println("after return: " + x);
}
}
public static void main(String[] args) {
System.out.println("return: " + new FinallyAndReturn().test());
}
}
/*
网上有很多关于这道题的许多不太正确的说法,在此小弟更正分析一下:
如果是在return前执行的,最后的打印结果应该是after return: 2,return: 2;
如果是在return后执行的,最后的打印结果应该是return: 1,after return: 2;
但是最后结果却是after return: 2,return 1。
所以最终结果应该这样答:虽然答案看似在return之前执行的,但往更细地说,我的答案是在return中间执行的
下面提供多一个例子供大家理解。。。。。
*/
package com.luffy.interview;
public class FinallyAndReturn2 {
int test(){
try{
return func1();
}finally{
return func2();
}
}
int func1(){
System.out.println("func1");
return 1;
}
int func2(){
System.out.println("func2");
return 2;
}
public static void main(String[] args) {
System.out.println(new FinallyAndReturn2().test());;
}
}
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- .try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code 会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后?
- try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行?在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- 网站的扁平化结构与面包屑导航分析
- asp.net页面提醒大写(caps lock)键打开功能
- Threading in C#, phase3
- 函数指针与软件设计
- linux命令行中php执行matlab计算
- try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
- 浏览器的地址栏输入非asiic字符自己编码,如前台直接生成?d=中文再解码
- windows Phone 7开发随笔1
- 【Symbian基础知识整理】_bld.inf、*.mmp、*.pkg文件的作用
- Access分页查询的性能短板
- .NET Base64字符串解码
- 自动填写本日,本周,本月条件的查询
- jdbc分页
- 开发过程中犯的错误!