3

我正在阅读名为 javauzzlers 的 Java 书籍,其中我发现..永远不要使用 return、break、continue 或 thRow 退出 finally 块,并且永远不允许检查的异常传播到 finally 块之外。你能不能用一些简短的小例子来详细解释一下,这样我才能完全理解..!

4

1 回答 1

0

//运行此代码,您将看到,当您运行此代码时,您将获得以下值

//由finally块返回,因此即使在try中有return,也会优先考虑它

//抓住。

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());
    }
}
于 2012-09-06T16:50:47.573 回答