error的坑

kit库-代指基础库和框架(基础库不应该wrap)

  1. 到处打日志的阶段
  2. 通过pkg/errors把err包住直接往上抛
  3. 基础库中大量使用了wrap

什么时候wrap ?

  1. 标准库、三方库(github)库、自己的三方基础库 需要用Wrap把根因包住。
  2. 包内项目其他函数透传

项目中的调用错误(别人的)直接透传,因为再Wrap堆栈信息会多层

  1. 直接返回错误,而不是每个错误产生的地方到处打日志
  2. 你的基础库(作为三方库)被多方调用,不应该wrap。只需要在业务层Wrap

go 1.13版本中
先判断err,然后再拿来用 。

业务工程里,错误码在工程化中再讲。
强依赖初始化失败的时候panic。 什么时候用强依赖,什么时候用弱依赖。