SuperAPI AI 工具集

error-handling

编程与开发

查看项目

更新于 10-15 23:33

技能介绍

用途:为 API 设计统一的错误处理方案,覆盖错误响应格式、错误分类、错误码体系以及客户端重试与日志策略。

主要能力:

  • RFC 7807 Problem Details:规定响应字段,必填 type(标识错误类型的 URI)、title(稳定、不本地化的人类可读摘要)、status(HTTP 状态码);可选 detail(每次可能不同的说明)、instance(标识具体发生实例的 URI)以及自定义扩展字段。附带校验错误、业务逻辑错误、认证错误的示例结构。
  • 错误分类:客户端错误 4xx(400 语法或字段错误、401 认证缺失或失效、403 权限不足或限流、404 资源不存在、409 冲突、422 语义或业务规则错误);服务端错误 5xx(500 未预期异常、502 上游失败、503 维护或过载、504 上游超时)。
  • 错误码系统:格式为 DOMAIN-CATEGORY-NUMBER,示例包括 AUTH-TOKEN-001 令牌过期、USER-VAL-001 邮箱已存在、ORDER-BIZ-001 库存不足等。
  • 客户端处理:可重试错误为 429、500(有限)、502、503、504;不可重试为 400、401、403、404、409、422。重试采用指数退避(1、2、4、8 秒……)并加入抖动以避免惊群。
  • 日志策略:按错误类型分级,ERROR 记录 500 与未处理异常,WARN 记录 401/403、409 与熔断,INFO 记录 400/422、404 与限流,DEBUG 记录完整请求响应、堆栈与上下文。
  • 安全考虑:不得向客户端暴露堆栈、内部路径或类名、数据库错误细节、系统配置;认证错误使用通用消息,服务端记录完整细节,并用请求 ID 关联,同时对错误响应限流。

使用方式:技能触发关键词为 error handling、exceptions、problem details、RFC 7807、error 等。资料未提供具体安装命令或调用代码。

适用场景:需要为 REST API 统一错误响应格式、划分错误码、制定客户端重试与日志规范的项目。

限制:以上为模式与规范说明,资料未提供具体实现代码、框架集成方式、语言绑定或测试方法;相关技能提及 exceptions-spring(Spring Boot 异常处理),但未给出进一步细节。