登录
首页 >  Golang >  Go问答

比较golang中的错误信息

来源:Golang技术栈

时间:2023-04-12 21:28:26 173浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《比较golang中的错误信息》,这篇文章主要讲到golang等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

假设我像这样在 golang 中创建了一个新错误

err := errors.New("SOME_COMMON_ERROR_CODE")

在 java 中,我习惯于通过GetMessage()消息获取异常。如果返回,我将如何比较该错误?

if some_err := some_package.DoSomething(); some_err != nil {
    if some_err.GetMessage() == "SOME_COMMON_ERROR_CODE" {
        // handle it however.
    }
}

这是如何在 golang 中完成的?

正确答案

声明带有错误的包级别变量:

var errExample = errors.New("this is an example")

返回错误时使用此值。与此值进行比较以检查特定错误:

if err == errExample {
    // handle it
}

如果包外的代码需要访问错误,则导出变量:

var ErrExample = errors.New("this is an example")

像这样使用它:

if err == somepackage.ErrExample {
    // handle it
}

下面是一些例子

避免与从错误的Error()方法返回的字符串进行比较。它会使你的代码变脆。

理论要掌握,实操不能落!以上关于《比较golang中的错误信息》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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