黑马程序员技术交流社区

标题: return 和 finally [打印本页]

作者: 侯晓谦    时间: 2015-6-21 21:54
标题: return 和 finally
关于先执行try语句里的return还是先执行finally
public class Test7 {
        @SuppressWarnings("finally")
        public static int value(){
                int i = 0;
                int j = 0;
                try{
                        i = 5;
                        return i/j;
                }catch(Exception e){
                        i = 7;
                        System.out.println("执行了return语句");
                        return i;
                }
                finally{
                        j = 1;
                        System.out.println("执行了finally语句");
                }
        }
       
        public static void main(String args[]){
               
                System.out.println("最终的值为: " + value());
                //结论:从输出上看,先输出了“执行return语句”,因此先执行了return,产生了异常,进入了catch,后执行了finally。
        }

}

因为先执行了catch语句,证明先执行try里的return,产生了异常,又输出了finally里的语句,证明无论什么情况都会执行finally语句,可用来写入关闭文件等操作。
作者: heisanheisan123    时间: 2015-6-21 22:05
谢谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2