第一种情况:
public static void main(String[] args) {
System.out.println(print());
}
@SuppressWarnings("finally")
public static String print() {
try {
System.out.println("------try------");
return "try";
} finally {
System.out.println("------finally------");
return "finally";
}
}
执行结果:
------try------
------finally------
finally
第二种情况:
public static void main(String[] args) {
System.out.println(print());
}
@SuppressWarnings("finally")
public static String print() {
try {
System.out.println("------try------");
int i = 10;
int j = i / 0;
return "try";
} catch (Exception e) {
System.out.println("------catch------");
return "catch";
} finally {
System.out.println("------finally------");
return "finally";
}
}
执行结果:
------try------
------catch------
------finally------
finally
第三种情况:
public static void main(String[] args) {
System.out.println(print());
}
public static String print() {
try {
System.out.println("------try------");
int i = 10;
int j = i / 0;
return "try";
} catch (Exception e) {
System.out.println("------catch------");
return "catch";
} finally {
System.out.println("------finally------");
}
}
执行结果:
------try------
------catch------
------finally------
catch