下列程序中在oneMethod()方法運(yùn)行正常的情況下將顯示什么?說出理由。
(A D)
public viod test(){
try {oneMethod();
System.out.println(“情況1”);
} catch (ArrayIndexOutofBoundsException e){
System.out.println(“情況2”);
} catch (Exception e){
System.out.println(“情況3”);
} finally{
System.out.println(“finally”);
}
}
A.情況1 B.情況2 C.情況3 D.finally
解:如果try子句中的語句在執(zhí)行時發(fā)生異常,則執(zhí)行從該處中斷而進(jìn)入catch塊,根據(jù)異常的類型進(jìn)行匹配,最前面的優(yōu)先進(jìn)行匹配比較,只要該異常是catch中指定的異常的子類就匹配成功進(jìn)而執(zhí)行相應(yīng)的catch中的內(nèi)容,而finally塊中的內(nèi)容無論是否發(fā)生異常都將被執(zhí)行。
因?yàn)閠ry子句中的語句在執(zhí)行時正常,所以將顯示選項(xiàng)A與選項(xiàng)D的內(nèi)容。
給出下列不完整的方法:
1)
2){ success = connect();
3)if (success = -1) {
4) throw new TimedOutException();
5) }
6)}
TimedOutException不是一個RuntimeException運(yùn)行時異常類。下面的哪些聲明可以被加入第一行完成此方法的聲明?說明理由。 (B C)
A. public void method()
B. public void method() throws Exception
C. public void method() throws TimedOutException
D. public void method() throw TimedOutException
E. public throw TimedOutException void method()
解:如果程序在運(yùn)行的過程中拋出異常,而這個異常又不是RuntimeException或者Error,那么程序必須捕獲這個異常進(jìn)行處理或者聲明拋棄(throws)該異常,捕獲異?梢允褂胻ry{}catch(){}語句,而拋棄異常在方法聲明時聲明,可在方法的聲明后面加上throws XxxxException,拋棄多個異常時在各異常間使用逗號(,)分隔。
題目中的程序在運(yùn)行時拋出的不是一個RuntimeException,所以必須捕獲或者拋棄,而程序有沒有捕獲,所以應(yīng)該在方法聲明時聲明拋棄。由于Exception是所有異常的父類,所以當(dāng)然也可以代表TimeOutException了,選項(xiàng)B和C都是可以的。
2015職稱計(jì)算機(jī)考試書PowerPoint2007中 .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 | |
2015年全國職稱計(jì)算機(jī)考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |