| 刚才在网上看到一段代码,发帖子的人说为什么没有打印A,我知道是主函数在运行func()的时候,抛出异常,jvm就会跳出try中的代码,不在执行func()方法后的代码,然后把异常对象当做参数传递给catch,然后执行catch中的代码。那func()方法中的,finally什么时候执行啊,是第一个打印,还是最后打印,解释下原因?是不是太幼稚了这个问题,呵呵 
 class Test
 {
 public static void main(String[] args)
 {
 try
 {
 func();
 System.out.println("A");//此处的A为什么没有打印呢
 }
 catch(Exception e)
 {
 System.out.println("C");
 }
 System.out.println("D");
 }
 public static void func() throws Exception
 {
 try
 {
 throw new Exception();
 }
 finally
 {
 System.out.println("B");
 }
 }
 }
 
 |