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 exception 16 System.out.println("An exception is caught: " + e); 17 return; 18 } finally { 19 System.out.println("Finally you're here."); 20 } 21 } 22 }