SuperAPI AI 工具集

go-error-handling

测试与质量

查看项目

更新于 10-15 21:37

技能介绍

用途:为 Go 项目提供一致的错误处理规范,让错误信息可读、可操作并能正确向上传播。

主要能力:给出错误创建与返回的决策树(errors.New、fmt.Errorf 加 %w、哨兵错误、自定义类型);哨兵错误用包级 var 并以 Err 前缀命名,调用方用 errors.Is 判断,禁止用 == 比较;需要携带结构化信息时定义实现 error 接口的自定义类型,调用方用 errors.As 提取;传播错误时用 %w 保留错误链并添加上下文,若要有意断开链则用 %v;错误只处理一次,记录日志或返回二者择一;命名约定为哨兵错误 Err 前缀、错误类型 Error 后缀、消息小写且带包与动作上下文;panic 仅用于初始化失败或程序错误,测试中用 t.Fatal,HTTP 边界处 recover。

使用方式:按上述模式编写或审查代码后,运行 go vet ./... 与 golangci-lint run --enable errcheck,errorlint 验证,未安装的工具可跳过并注明。

适用场景:Go 服务与库的错误设计、代码评审、lint 规则落地。

限制:资料未提供具体版本要求、安装步骤与性能数据;errors.Join 标注为 Go 1.20+。