民國105年 第2梯次 電腦軟體設計(C++)乙級 學科
第38題
下列之區塊,何者可以捕捉任何型態之例外?
題目
下列之區塊,何者可以捕捉任何型態之例外?
- (1) c a t c h ( * ) { }
- (2) c a t c h ( . . . ) { }
- (3) c a t c h ( e x c e p t i o n ) { }
- (4) c a t c h ( ) { }
官方答案
(2) c a t c h ( . . . ) { }
解析
C++ 中若要捕捉所有型態的例外,須使用省略號參數 `catch(...) {}`,此為標準語法的「catch-all」處理器。選項 1 的 `catch(*)` 非合法語法;選項 3 僅能捕捉衍生自 `std::exception` 的例外,無法捕捉基本型別或非標準例外;選項 4 的空參數列 `catch()` 屬語法錯誤。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。