[OCAJP][OCPJP]拋接例外


View the exhibit.

Given the code fragment:

Which change enables the code to print the following?

James age: 20
Williams age: 32

A.
Replacing line 5 with

B.
Replacing line 5 with

C.
Enclosing line 6 and line 7 within a try block and adding:

D.
Enclosing line 6 and line 7 within a try block and adding:

題解

原本題目提供的程式會在第6行和第7行出現編譯錯誤,原因在於Candidate的物件有拋出Exception。由於Exception是需要檢查的例外(checked exception),因此必須要撰寫程式去處理它。

選項A,只讓main方法拋出MissingInfoException和AgeOutofRangeException是不夠的,必須要拋出Exception才行。

選項B,throws的用法錯誤。

選項C,有catch到Exception,正確選項。

選項D,只讓try-catch接住MissingInfoException和AgeOutofRangeException是不夠的,必須要接住Exception才行。

關於作者

Magic Len

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

相關文章