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