JavaSE程序分析002 try-catch-finally与return的小事情

程序段如下:

class Test
{
    public static String output = "";
    public static void foo(int i)
    {
        try
        {
            if (i == 1)
                throw new Exception();
            output += "1";
        }
        catch (Exception e)
        {
            output += "2";
            return;
        }
        finally
        {
            output += "3";
        }
        output += "4";
    }
    public static void main(String[] args)  
    {
        foo(0);
        System.out.println(output);
        foo(1);
        System.out.println(output);
    }
}

执行结果如下:
此程序段的执行结果

分析:try-catch-finally程序块是一个整体,当执行catch里面的return之后,finally里面的代码块也是要执行的。

posted on 2016-02-24 19:20  码农康康  阅读(85)  评论(0编辑  收藏  举报

导航