工程開發
error-handling avatar

error-handling

實作強健的後端錯誤處理機制,包含自訂錯誤類別、中間件、結構化日誌以及復原模式。

簡介

此技能為管理後端應用程式錯誤提供標準化的架構框架,專注於可觀測性、可除錯性與優雅的服務復原。專為建置 Node.js/TypeScript 服務的專業開發團隊設計,確立了區分操作錯誤與系統故障的明確模式。透過使用集中的 AppError 基礎類別,開發人員可以強制執行一致的 HTTP 狀態碼、結構化錯誤回應與有意義的錯誤識別碼。這種方法可確保客戶端整合收到可預測的錯誤結構,同時內部系統保留高保真度的日誌,以利監控與事故回應。

  • 實作分層的自訂錯誤類別結構,包含常見類型如 ValidationError、NotFoundError、UnauthorizedError、ForbiddenError、ConflictError 與 RateLimitError。

  • 為 Express.js 提供生產環境就緒的錯誤處理中間件,負責攔截錯誤、記錄上下文元數據,並根據環境(開發環境與生產環境)格式化回應。

  • 包含非同步錯誤處理包裝器,確保 Promise 拒絕能被正確捕獲並傳遞至全域錯誤中間件。

  • 整合 Zod Schema 驗證,將複雜的輸入解析錯誤轉換為使用者友善的驗證報告。

  • 提供資料庫錯誤映射策略,將底層 SQL/ORM 錯誤(如 UniqueConstraintError)轉換為有意義的應用層領域錯誤。

  • 促進對請求上下文、堆疊追蹤與相關元數據的結構化記錄,以利分散式系統的除錯。

  • 輸入:通常在實作或重構 API 路由、服務層邏輯或資料庫倉儲操作時調用。

  • 輸出:產生整潔、型別化的 TypeScript 錯誤類別與模組化中間件函數,並整合至您的應用程式管線中。

  • 使用此技能可避免 API 間出現不一致的錯誤結構,並減少除錯意外伺服器崩潰所花費的時間。

  • 實作時,請確保敏感的堆疊追蹤資訊僅限於非生產環境,以維持資安最佳實踐。

  • 將應用程式的錯誤回應介面與所提供的標準 ErrorResponse 模式對齊,以簡化前端整合流程。

倉庫統計

Star 數
255
Fork 數
31
Open Issue 數
7
主要語言
TypeScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年4月30日 上午08:52
在 GitHub 查看