歷史痛點
- 錯誤控制從最古老語言就是大問題
- 難設計完美方案 → 多語言忽略、拋給庫設計者
- 依賴程式設計師警覺性而非語言強制 → 匆忙時必失效
異常處理機制
- 將錯誤控制內建語言/OS
- Exception = 特殊物件,從錯誤點拋出
- 對應異常處理器捕獲
- 多處理器可並行捕獲不同異常
- 獨立執行路徑,不干擾常規代碼
關鍵優勢
- 編碼更簡單:無需頻繁檢查錯誤碼
- 異常 ≠ 返回錯誤碼/旗標:不可被忽略,必在某處處理
- 可靠恢復:一般無需退出,可處理後繼續執行
- 程式更可靠
Java 獨特性
- 異常模組從一開始就封裝好
- 必須使用:不寫異常處理代碼 → 編譯錯誤
- 保證程式連貫性,錯誤控制更容易
本質澄清
異常處理非 OO 特性(雖 OOP 中常用物件表示),早於 OO 語言存在。