预测以下程序的输出。
class Test
{
String str = "a";
void A()
{
try
{
str +="b";
B();
}
catch (Exception e)
{
str += "c";
}
}
void B() throws Exception
{
try
{
str += "d";
C();
}
catch(Exception e)
{
throw new Exception();
}
finally
{
str += "e";
}
str += "f";
}
void C() throws Exception
{
throw new Exception();
}
void display()
{
System.out.println(str);
}
public static void main(String[] args)
{
Test object = new Test();
object.A();
object.display();
}
}
(A)绝对
(B)十月
(C) abdefc答案: (B)
说明: “ throw”关键字用于显式抛出异常。
即使发生异常,finally块也总是执行。
调用方法C()会引发异常。因此,控制进入方法B()的catch块,该方法再次引发异常。因此,控制进入方法A()的catch块中。
这个问题的测验
如果您在以上帖子中发现任何错误,请在下面发表评论