[OCAJP]拋出IOException

Given the code fragment:

Which two modifications should you make so that the code compiles successfully?

A. Replace line 8 with:

B. Replace line 10 with:

C. Replace line 2 with:

D. Replace line 4 with:

E. At line 11, insert

題解

第5行在X類別的「printFileContent」方法中拋出了新的「IOException」例外,IOException是需要檢查的例外(checked exception),因此必須要撰寫程式去處理它。

由於「printFileContent」方法中目前並沒有任何處理「IOException」的方式,因此可以利用選項C,將「printFileContent」方法中所產生的「IOException」往外拋出。選項D缺少了「new」運算子來實體化出IOException物件,但就算有「new」運算子也無濟於事。

將「IOException」從「printFileContent」方法拋出後,其它有使用到「printFileContent」方法的地方就必須要去處理這個「IOException」,因此可以利用選項A,繼續將「IOException」再從「main」方法往外拋出。選項B的try-catch用法是錯的,若把「Exception」和「IOException」調換,或是移除掉其中一組catch,才會是正確的。

選項E雖然可以加至程式中,但無濟於事。

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章