-
我用等号判断 Go 的错误类型一直好好的,下游一改成用 %w 包装错误,我的判断就全失效、走错了分支,我对着错误链排查了大半天的复盘
我用 if err == ErrNotFound 判断错误类型一直好用,直到下游为了让错误信息更丰富,把直接返回 ErrNotFound 改成了 fmt.Errorf("查询失败: %w", ErrNotFound) 包装错误,我的 == ErrNotFound 就再也匹配不上、走进了错误分支(把404当500返回了)。深挖才懂是 Go 的错误包装与错误链:%w 包装后 err…- 0
- 0
错误包装
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!

