民國105年 第2梯次 電腦軟體設計(C++)乙級 學科

第38題

下列之區塊,何者可以捕捉任何型態之例外?

題目

下列之區塊,何者可以捕捉任何型態之例外?

  1. (1) c a t c h ( * ) { }
  2. (2) c a t c h ( . . . ) { }
  3. (3) c a t c h ( e x c e p t i o n ) { }
  4. (4) c a t c h ( ) { }

官方答案

(2) c a t c h ( . . . ) { }

解析

C++ 中若要捕捉所有型態的例外,須使用省略號參數 `catch(...) {}`,此為標準語法的「catch-all」處理器。選項 1 的 `catch(*)` 非合法語法;選項 3 僅能捕捉衍生自 `std::exception` 的例外,無法捕捉基本型別或非標準例外;選項 4 的空參數列 `catch()` 屬語法錯誤。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料