加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

比较golang中的错误消息

发布时间:2020-12-16 09:25:28 所属栏目:大数据 来源:网络整理
导读:假设我在golang中创建了一个新错误 err := errors.New("SOME_COMMON_ERROR_CODE") 在java中,我习惯于能够使用GetMessage()消息获取Exception.如果返回,我该如何比较该错误? if some_err := some_package.DoSomething(); some_err != nil { if some_err.GetM
假设我在golang中创建了一个新错误

err := errors.New("SOME_COMMON_ERROR_CODE")

在java中,我习惯于能够使用GetMessage()消息获取Exception.如果返回,我该如何比较该错误?

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
}

Here are some examples.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读