try、catch、finallyがreturnを返す問題について
1550 ワード
1つ目のケース:
実行結果:
2つ目のケース:
実行結果:
3つ目のケース:
実行結果:
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
2つ目のケース:
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
3つ目のケース:
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