关于finally块的少数例外和作用

时间:2012-09-06 16:40:33

标签: java exception

我正在阅读名为java puzzlers的java书籍,其中我发现..Never退出一个带有return,break,continue或tHRow的finally块,并且永远不允许已检查的异常从finally块传播出来。能否请您通过一些简短的小例子详细解释这一点,以便我完全理解它。!

1 个答案:

答案 0 :(得分:0)

//运行此代码,您将看到运行此代码时,您将获得

的值

//由finally块返回//即使在try和

中有返回,也会给予优先级

//捕获

class A
{
int one()
    {
        try
            {
             int n[]= new int[5];
             System.out.println("inside try");
             n[7]=89;
             return 10;
            }
        catch(Exception e)
            {
             System.out.println(e);
             return 399;
            }
        finally
            {
             System.out.println(" this is finally block");
             return 20; //priority is given to finally block
            }
        }
 }

class final7
{
    public static void main(String args[])
    {
    A ob= new A();
    System.out.println(ob.one());
    }
}