Go1.13对错误处理做了一定的改善,语言层面主要有以下几个改动:

这里参考官方博客,主要想整理一下在新的错误处理惯例下,package 作者如何判断何时应该返回wrapped error,literal error:

如果底层的错误对于上层用户有意义,并且该底层错误不会由于日后重构而改变。则可以将底层error wrap后返回。

正面例子:

中立例子: