Golang错误处理
Golang 中创建错误有两种方式:
第一种: errors.New() 函数,其返回值类型为 *errors.errorString。
第二种: fmt.Errorf() 函数
当使用 fmt.Errorf() 来创建错误时,核心有以下两点:
错误描述中不包含 %w 时,p.wrappedErr 为 nil,所以底层也是调用 errors.New() 创建错误。因此错误类型就是 *errors.errorString。
错误描述中包含 %w 时,p.wrappedErr 不为 nil,所以底层实例化 wrapError 结构体指针。 因此错误类型是 *fmt.wrapError,可以理解为包裹错误类型。

浙公网安备 33010602011771号