try finally return

public class Test2 {

    
    public static void main(String[] args) {
        System.out.println(Test2.testFinally());   //a c b

    }
    public static String testFinally(){
        try{
            System.out.println("a");
            return "b";
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            System.out.println("c");
        }
        
        
        return "d";
    }

}

无论有没有发生异常,finally总会在这个异常处理结构的最后运行。即使你在try块内用return返回了,在返回前,finally总是要执行,这以便让你有机会能够在异常处理最后做一些清理工作。如关闭数据库连接等等。 

try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 } 

catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } 

finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally } 

 

posted @ 2016-03-22 10:20  Hsinwang  阅读(117)  评论(0编辑  收藏  举报