黑马程序员技术交流社区
标题:
try-finally的问题!
[打印本页]
作者:
张向阳
时间:
2012-12-22 10:27
标题:
try-finally的问题!
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的代码会不会被执行,什么时候被执行,在return前还是后?
作者:
董将
时间:
2012-12-22 10:37
public class Text5 {
public static void main(String[] args) {
//定义一个整型数组
int [] arr={1,2,3,4,5};
//调用showElement方法并传递一个大可以导致越界的参数
int res=show(arr,arr.length);
//显示得到的返回值
System.out.println(res);
}
public static int show(int[] arr, int length) {
int num=1;
try {
System.out.println(arr[length]);
}
catch (Exception e) {//这里应该抛数组角标越界,这里简单处理
return num;
}
finally{
num=2;
System.out.println("finally执行了!");
}
return 3;
}
}
通过这个可以证明return是在finally执行后才返回的,且finally无法改变返回值。
作者:
Jam
时间:
2012-12-22 19:10
会执行,好像是道面试题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2