Golang错误处理

Golang 中创建错误有两种方式:
第一种: errors.New() 函数,其返回值类型为 *errors.errorString

第二种: fmt.Errorf() 函数
当使用 fmt.Errorf() 来创建错误时,核心有以下两点:

错误描述中不包含 %w 时,p.wrappedErrnil,所以底层也是调用 errors.New() 创建错误。因此错误类型就是 *errors.errorString

错误描述中包含 %w 时,p.wrappedErr 不为 nil,所以底层实例化 wrapError 结构体指针。 因此错误类型是 *fmt.wrapError,可以理解为包裹错误类型。

Reference

posted @   0x7F  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示