检查下面的代码:


检查下面的代码:

classE1extendsException{}

classE2extendsE1{}

publicclassQuiz6_l{

publicstaticvoidf(booleanflag)throwsE1,E2{

if(flag){

thrownewE1();

}else{

thrownewE2();

}

}

publicstaticvoidmain(String[]args){

try{

f(true);

}

catch(E2e2){

System.out.println("CaughtE2");

}catch(E1e1){

System.out.println("CaughtEl");

}

}

}

对上面的程序进行编译、运行,下面的叙述哪个是正确的:

A.由于Qoiz6_1.main方法中没有声明抛出异常E1、E2,所以编译会失败

B.由于针对E2的catch程序块是无法执行到的,所以编译会失败

C.编译成功,输出为:CaughtElCaughtE2

D.编译成功,输出为:CaughtE1

正确答案:D


Tag:Java程序设计 程序 声明 时间:2021-05-05 13:45:49