https://github.com/morrisxyang/errors
在业务开发中需要一个支持错误码对外返回, 堆栈打印等能力的错误工具库, 先开始使用 pkg/errors, 但该项目已经只读, 上次更新是几年前, 而且有一些点比如调整堆栈深度等没有支持, 后续根据业务的需要抽取了一个通用库, 做了一些优化, 详见下方.
如果觉得有用欢迎 Star 和 PR, 有问题请直接提 issue
简单的支持错误堆栈, 错误码, 错误链的工具库:
支持携带堆栈, 嵌套构造错误链
支持携带错误码, 方便接口返回
支持自定义堆栈打印深度和错误链打印格式
使用 CallersFrames 替代 FuncForPC 生成堆栈, 避免特殊情况line number 错误
等问题, 详见runtime: strongly encourage using CallersFrames over FuncForPC with Callers result
简化堆栈信息, 一条链路多次Wrap
操作只保留最深层堆栈, 只打印一次