2.關於錯誤處理(error handling),下列哪一項做法在大型 程式中通常較佳?
(A) 完全忽略錯誤訊息
(B) 發生錯誤就 立刻強制結束程式,不做任何處理
(C) 使用適當的錯誤處 理機制,例如例外(exception)或回傳錯誤碼
(D) 把所有 錯誤訊息都隱藏不給開發者看

答案:登入後查看
統計: A(0), B(1), C(16), D(0), E(0) #3678233

詳解 (共 1 筆)

#7219005

【解題思路】

抓關鍵字:「錯誤處理」「大型程式」「較佳做法」。

真正要考的是:
大型程式如何穩定地處理可能發生的錯誤?

正確觀念:
大型程式裡,錯誤一定會發生,不可能完全避免。
因此最好的做法是:

(C)適當地處理錯誤(exception handling 或 error code),讓程式可以持續運作或安全地中止。

其他選項的做法都不只不好,甚至是危險行為。

【為什麼其他選項不正確(逐一破題)】

(A) 完全忽略錯誤訊息
= 假裝沒事
結果錯誤會一路擴散,最後造成更大的災難。
不可能是正確答案。

(B) 發生錯誤就強制結束程式
在大型系統中,這種做法會造成服務中斷、資料遺失。
除非是致命錯誤,一般不會這樣處理。

(D) 把所有錯誤訊息都隱藏
開發者不知道發生什麼事,就無法修正問題。
專案維護會變成地獄。

只有 (C) 是符合大型系統實務的做法。

【延伸知識】

大型系統的錯誤處理通常包含:

  1. Try / Catch(例外處理)
    拿來捕捉不可預期的異常。

  2. 回傳錯誤碼
    用在流程可控的地方(例如 C 語言或 API 設計)。

  3. 寫入 log(錯誤日誌)
    錯誤要能被追蹤與重現。

  4. 微服務中常用 retry / graceful fallback
    如果某個服務失敗,可以退回預設值、改用備援機制、或稍後重試。

核心理念:
錯誤要被看見、被記錄、被正確處理,而不是被忽略或掩蓋。

【記憶技巧】

口訣:
「錯誤三不要:不忽略、不掩蓋、不隨便掛掉。」
「大型程式靠處理,不靠逃避。」

【常見錯誤】

學生容易誤以為:

  • 錯誤越少越好 → 錯,應該是「錯誤可控」。

  • Exception 全部 catch 就好 → 錯,要分種類處理。

  • Log 只要印一行就好 → 在大型系統中需要完整 log 才能 debug。

0
0