工程开发
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 查看