码迷,mamicode.com
首页 > 其他好文 > 详细

try catch 与 return 和 finally 关系。

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

标签:style   color   java   io   文件   ar   问题   new   sp   

例如,我打开了一个不存在的文件
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 关系。

标签:style   color   java   io   文件   ar   问题   new   sp   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!