package
0.0.0-20211011072305-c7c234c966a4
Repository: https://github.com/skyhackvip/geek.git
Documentation: pkg.go.dev

# README

是否应该Wrap sql.ErrNoRows抛给上层

关于这个问题,我是这么理解:

1、如果包装后导致判等失败,不建议Wrap

dao层是提供给上层service层服务的,包装后会使得业务层无法区分错误是因为没有查得数据,还是因为数据库抛了异常导致的错误。 可以对结果处理(降级)后抛给上级,如果是ErrNoRows属于正常查不到数据,可以记录一个warning日志,然后把错误屏蔽返回给上游空结果即可,也可以返回自定义的业务错误用于业务输出,这样上游只要接收到error一定属于异常,做异常处理。

2、如果使用三方pkg/errors,可以找到“根因”,这时可以Wrap,但不建议这么做

上层服务根据根因做一些处理,但感觉意义也不大,不建议。

# Functions

No description provided by the author

# Structs

No description provided by the author
No description provided by the author