Feb. 04 10:06~10:16
今天繼續「洩題」,作答時間一樣是6分鐘,計時開始。
***
7. 例外發生之後,如果要讓程式繼續正常執行,例外處理程序(exception handler)至少必須確定以下哪一件事情?
A. 系統的bug已經被移除。
B. 使用者獲得錯誤訊息通知。
C. 系統自動重新啟動。
D. 電腦沒有中毒。
E. 系統處於正確狀態且沒有資源遺漏(resource leak)。
8. 以下節錄自ANT的程式碼,存在哪一個例外處理壞味道?
private Properties getProperties(Resource r) {
InputStream in = null;
Properties props = new Properties();
try {
in = r.getInputStream();
props.load(in);
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
FileUtils.close(in);
}
return props;
}
A. 粗心的資源釋放(Careless Cleanup)。
B. 忽略受檢例外(Ignored Checked Exception)。
C. 虛設的例外處理程序(Dummy Handler)。
D. 當成備胎的例外處理程序(Spare Handler)。
E. 沒有存在任何壞味道。
9. 以下關於Java的checked exception和unchecked exception的敘述,何者是錯的?
A. Checked exception代表可回復錯誤狀況,unchecked exception代表不可回復錯誤狀況。
B. Checked exception如果要往函數外傳遞,必須要被宣告在函數介面上。反之, unchecked exception不可以被宣告在函數介面上。
C. Java編譯器會檢查checked exception的使用是否遵循「處理或宣告原則(handle-or-declare rule)」。
D. 在程式執行的時候(runtime),Java虛擬機器不會檢查checked exception是否違反「處理或宣告原則(handle-or-declare rule)」。
E. 以上皆非。
10. Java的EOFException屬於checked exception。以下關於EOFException的敘述何者是對的?
A. 有時候EOFException僅代表通知(notification),而非例外狀況。
B. 因為EOFException屬於checked exception,所以一定要把它宣告在介面上,否則會產生與法錯誤。
C. 因為EOFException屬於checked exception,所以一定是可回復例外(recoverable exception),捕捉下來之後要執行狀態回復動作。
D. EOFException是IOException的子類別,這種設計技巧稱為Smart Exception(聰明例外)。
E. 以上皆是。
11. 以下關於C#例外處理機制,何者是錯的?
A. C#預設採用stack unwinding來尋找例外處理程序(exception handler)。
B. C#的例外傳遞是屬於內隱式(implicit)。
C. C#使用資料物件(data object)來表達例外。
D. C#的例外模型採用終止模型(termination model)。
E. 因為C#沒有區分checked exception與unchecked exception,所以也沒有辦法區分可回復例外與不可回復例外。
12. 兩棟大樓之間的雷射資料傳輸,因為有候鳥飛過而導致資料傳輸失效。此種失效原因,可稱為?
A. 間歇缺陷(intermittent fault)。
B. 永久缺陷(permanent fault)。
C. 週期性缺陷(periodic fault)。
D. 安全性缺陷(safety fault)。
E. 暫態缺陷(transient fault)。
***
友藏內心獨白:答對一題得0.1分,加總分數就是各位的「例外處理視力」,最佳視力為1.2。
沒有留言:
張貼留言