java中针对 try和finally一些总结

结论spa

   一、无论有没有异常,finally中的代码都会执行code

   二、当try、catch中有return时,finally中的代码依然会继续执行blog

   三、finally是在return后面的表达式运算以后执行的,此时并无返回运算以后的值,而是把值保存起来,无论finally对该值作任何的改变,返回的值都不会改变,依然返回保存起来的值。也就是说方法的返回值是在finally运算以前就肯定了的。class

   四、finally代码中最好不要包含return,程序会提早退出,也就是说返回的值不是try或catch中的值程序

 

    public static int tryCatch(){
        int i = 1;
        try {
            return i;
        }finally {
//            return ++i;
            ++i;
        }
    }
验证结论2.3
  输出结果1

 

 

 

 

 

 

    public static int tryCatch(){
        int i = 1;
        try {
            return i;
        }finally {
            return ++i;
        }
    }
验证结论4 
   输出结果 是2

相关文章
相关标签/搜索