2014-04-26 18:44
题目:在java的try-catch-finally语句块里,如果catch里面有return语句的话,finally还会被执行吗?
解法:会。
代码:
1 // 14.2 Will the code in finally {} be executed if there is a return statement inside try {} or catch{}? 2 // The answer is yes. 3 // OUTPUT: 4 // Hello world. 5 // An exception is caught: java.lang.ArrayIndexOutOfBoundsException: 2 6 // Finally you're here. 7 public class TestJava { 8 public static void main(String[] args) { 9 try {10 System.out.println("Hello world.");11 int[] a = new int[2];12 a[2] = 1;13 return;14 } catch (Exception e) {15 // TODO: handle exception16 System.out.println("An exception is caught: " + e);17 return;18 } finally {19 System.out.println("Finally you're here.");20 }21 }22 }