登录
首页 >  Golang >  Go问答

惯例:在 Golang 中进行错误包装

来源:stackoverflow

时间:2024-02-18 13:42:24 446浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《惯例:在 Golang 中进行错误包装》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

在 golang 中包装错误时,创建新错误时应该在开头还是结尾使用 %w 动词?或者这并不重要,因为没有约定或建议 - 我们可以使用任何使错误字符串更容易理解的内容?

最后使用 %w 时的示例:

if err != nil {
    return fmt.errorf("decompress %v: %w", name, err)
}

以及开头使用 %w 的示例:

if record.BoatSize != 0 {
    err = fmt.Errorf("%w: boatSize is set", ErrInvalidBoatRecord)
}

正确答案


%w 的位置在包装时不使用,也不在解包错误时使用,因此没关系。

使用使错误消息更清晰的选项。

通常将其添加到末尾更为常见,在链接错误时(从一般错误到更具体的错误),它读起来很好。例如:

IO错误:文件打开错误:文件不存在:example.txt

本篇关于《惯例:在 Golang 中进行错误包装》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>