JAVA try...catch...finally中的执行顺序和return语句

public static int get() {

try {
System.out.println(
"try");
return 1;
//throw new Exception();
} catch (Exception e) {
System.out.println(
"catch");
return 2;
}
finally {
System.out.println(
"finally");
return 3;
}
}
结果:
try
finally
3
public static int get() {
try {
System.out.println(
"try");
//return 1;
throw new Exception();
}
catch (Exception e) {
System.out.println(
"catch");
return 2;
}
finally {
System.out.println(
"finally");
return 3;
}
}
结果:
try
catch
finally
3
public static int get() {
try {
System.out.println(
"try");
//return 1;
throw new Exception();
}
catch (Exception e) {
System.out.println(
"catch");
return 2;
}
finally {
System.out.println(
"finally");
//return 3;
}
}
结果:
try
catch
finally
2
结论:finally块中的return会覆盖掉try或catch块中的return

posted on 2011-07-25 09:54  小山丘  阅读(352)  评论(0编辑  收藏  举报

导航