week 5 JS 錯誤處理最佳實踐
2021/8/25
[译] NodeJS 错误处理最佳实践 - CNode技术社区
定義:
Bug: 程式碼的錯誤
Error: 操作失敗(但程式碼是正確的)
Error handling:
錯誤處理是在處理操作失敗(包含使用者、伺服器、資料庫設定等等的錯誤)
如何處理操作失敗:
直接處理: 從 log 找到可以處理的錯誤訊息, eg. 找不到檔案, network 問題
直接把錯誤訊息丟給客戶端: 客戶操作不當的錯誤 ⇒ 提交格式錯誤、404 可以由客戶端解決的操作問題 ⇒ 503、429
直接崩潰: 屬於 bug 類,可以 log 後建議直接 crash,等待修復
log: 沒有辦法處理的錯誤,還是要記錄下來
程式碼上的錯誤處理:
同步:throw
非同步:callback, EventEmitter
文件上應該要記錄:
參數、類型
可能的錯誤 eg. 缺少參數、連接錯誤
怎麼拋出錯誤
日誌
程式碼什麼地方會記錄 log?訂單?接三方服務 webhook?
各位大大的 Log 有遵守/參考 RFC5424 的八個等級嗎?
通常是四個
呈上各位大大的日誌管理流程是什麼? 根據錯誤級別來設定通知?還是出事了連進去查 log?
呈上查 log 有搭配什麼管理面板咪?
可以參考一些 bug tracing tool
=>見【實務討論】
Last updated