关于try...catch...finaly机制

    技术2022-05-11  85

    下面有这么一个程序,代码如下: public   class  ExceptionDemo public static void createException()throws Exceptionthrow new Exception("An Exception is create"); } public static long get()try { createException(); return System.currentTimeMillis();//(1) } catch (Exception ex) { System.out.println("C-time1="+System.currentTimeMillis()); return System.currentTimeMillis();//(2) } finally { System.out.println("F-time2="+System.currentTimeMillis());(3) } } public static void main(String[] args)long a=get(); System.out.println("a="+a);//(4) } }     输出结果: 先打印 C-time1=1132934662156 再打印 F-time2=1132934662156 最后打印 a=1132934662156 从输出结果我们可以知道整个流程: 执行完catch字句中return 所有前语句,再执行finally,最后返回。附:这道题曾经在我被面试的时候被问过,后来我面试别人的时候同样也用过。

    最新回复(0)