Skip to content

Fail Fast

快速失敗

01你是不是遇到這個 / THE SYMPTOM

我的程式拿到爛資料或缺參數時不會馬上報錯,而是默默繼續跑,結果錯誤到很後面才爆出來,根本看不出真正的原因在哪。我想讓它一發現不對勁就立刻清楚地報錯停下來、好抓問題。

↑ 如果你點頭了,你要的關鍵字就是 Fail Fast

02這是什麼 / DEFINITION

一種設計取向:一偵測到不合法的狀態(缺必要參數、設定錯誤、前置條件不成立)就立刻丟出明確錯誤、停止往下執行,而不是吞掉問題繼續跑、讓錯誤延後且難以追查。

03什麼時候用 / WHEN TO USE

在程式啟動時驗證設定/環境變數、函式入口驗證參數、處理外部資料前先檢查格式時。讓 bug 在「最接近源頭」的地方爆出來,而不是在十層之後變成一個莫名其妙的錯誤。

04怎麼跟 AI 說 / HOW TO ASK

直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:

幫我在這個函式入口加 fail-fast 驗證:必要參數缺少或格式不對就立刻 throw 一個帶清楚訊息的錯誤,不要默默用預設值繼續跑。
05常見坑 / WATCH OUT

別和「fail open / fail closed」搞混:fail-fast 講的是「早點報錯」,fail open/closed 講的是「出錯時要放行還是擋住」。另外 fail-fast 適合內部邏輯,但對使用者面向的輸入要搭配友善錯誤訊息,不是直接把 stack trace 噴給使用者看。

06相關的詞 / RELATED