error的坑
kit库-代指基础库和框架(基础库不应该wrap)
- 到处打日志的阶段
- 通过pkg/errors把err包住直接往上抛
- 基础库中大量使用了wrap
什么时候wrap ?
- 标准库、三方库(github)库、自己的三方基础库 需要用Wrap把根因包住。
- 包内项目其他函数透传
项目中的调用错误(别人的)直接透传,因为再Wrap堆栈信息会多层
- 直接返回错误,而不是每个错误产生的地方到处打日志
- 你的基础库(作为三方库)被多方调用,不应该wrap。只需要在业务层Wrap
go 1.13版本中
先判断err,然后再拿来用 。
业务工程里,错误码在工程化中再讲。
强依赖初始化失败的时候panic。 什么时候用强依赖,什么时候用弱依赖。