.. | ||
paras | ||
wrap | ||
ReadMe.md |
errors包的使用
通过wrap方法将错误一层一层的包裹,每一次的包裹过程中可以包含自己的自定义的信息, 这样形成了错误栈
不用每次err is not nil就打印错误日志,而是只在最顶层的调用打印,可以打印出完整的错误站信息,
unwarp可以提取出上一层的错误,
cause可以将错误提取出来,然后做断言,判断具体的错误类型
项目的错误模块
- 不同的模块都有自己错误类型
- 不同的错误通过组合error和自定义来携带必要的错误信息
- 通过错误类型判断定位错误发生在哪个模块