首页 > 其他 > 详细

try catch 与 return 和 finally 关系。

时间:2014-08-24 22:11:44      阅读:277      评论:0      收藏:0      [点我收藏+]

例如,我打开了一个不存在的文件
import java.io.*;
public class Demo {
     public static void main(String[] args) {
           try
         {
                       FileReader fr=new FileReader("d:\\aa.txt");
         }
         catch(Exception e)
         {
             e.printStackTrace();
         }

         System.out.println("11");
     }
}
我自己试过,后面的11会打印出来,但我看视频时老师说异常后面的语句不会执行,所以想知道下具体的解答。

 

答:

1.try
          {
                      
          }
          catch(Exception e)
          {

          }

你的 11已经超出 异常捕抓呀。 你有异常处理要终止程序应该在 catch 里。

如果try块中的语句被后面的catch块捕获并处理了,那么try,,catch后面的语句就还会运行的,如果不被捕获,那后面的就不能运行

 

 

问题2:finally在return前执行还是return后?、

答: finally和return完全是独立执行了! 虽然finally先于return执行,不过finally无论如何都无法修改return的结果。

这就是为什么,一个方法最好只做一件事,而且尽量不能有多个返回值。(坑很深,切勿一个方法多个return!)。

try catch 与 return 和 finally 关系。

原文:http://www.cnblogs.com/mr-gao/p/3933427.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!