SuperAPI AI 工具集

go-create-error

数据与分析

查看项目

更新于 10-15 20:29

技能介绍

用途:在 GO 模块化架构中为模块级 errs 包生成类型化自定义错误,统一错误码、消息、HTTP 状态与翻译。

主要能力:按 internal/modules/<module>/errs/errs.go 结构生成错误;使用 errs.New("<MODULE>_<NN>", "<Message>", http.<Status>, nil) 创建;自动分配模块内下一个唯一错误码(如 IDENTITY_01、MONITOR_02);保持文件既有排序与分组风格;为错误变量添加简短文档注释;将业务流中的原始 errors.New 替换为类型化错误;强制在 locales/en.json 及其他已有语言文件中补充翻译键。

使用方式:先确定目标模块、错误变量名(Err + PascalCase 领域短语)、用户安全消息与 HTTP 状态;打开模块 errs.go,提取已有前缀码并分配下一个可用码;插入 var (...) 块;确保 usecase、validator、handler 或枚举构造器返回新错误;最后更新所有 locale 文件。示例:ErrInvalidContactType = errs.New("MONITOR_01", "Invalid contact type", http.StatusBadRequest, nil)。

适用场景:需要统一错误码与 HTTP 状态映射的 Go 后端模块,尤其是校验错误(400)、认证失败(401/403)、资源缺失(404)、冲突(409)、限流(429)、内部或服务不可用(500/503)。

限制:不得新建错误包,必须使用模块本地 errs;同一模块内错误码不可重复;不得向传输层返回持久化或基础设施原始错误;错误消息一旦暴露应保持稳定;每个新错误必须同步 locales/en.json 及所有其他已有语言文件,否则不应合并。具体安装命令与运行方式暂未提供。