强调 errorx库提供错误实现和与错误相关的实用程序。 库功能包括(但不限于): 堆栈痕迹 错误的可组合性 旨在通过堆栈跟踪和消息来增强错误 强大的类型和特征检查 介绍 解决Go错误的传统方法非常有限。 典型的情况是在某个时刻创建了一个错误: return errors . New ( "now this is unfortunate" ) 然后与不费吹灰之力一起传递: if err != nil { return err } 最后,通过将其打印到日志文件进行处理: log . Printf ( "Error: %s" , err ) 很快就发现这还远远不够。 当开发人员能够观察到的所有内容都是日志中的一行(其中之一)时,解决该问题几乎没有乐趣: 错误:EOF 错误:值的开头出现意外的'>' 错误:参数值错误 errorx库提供了一种创建工具集的方法,该工具集可以通过考虑以下因素来帮助解决此问题: 拥有所有必需的调试信息的错误,无需格外小心; 相反,可能构成特殊情况 必须存在一种区分一种错误和另一种错误的方法,因为它们可能暗示或需要对用户代码进行不同的处理