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