当前位置:  开发笔记 > 编程语言 > 正文

比较golang中的错误消息

如何解决《比较golang中的错误消息》经验,为你挑选了1个好方法。

假设我在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完成的?



1> Cerise Limón..:

使用错误声明包级别变量:

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()方法返回的字符串进行比较.它可以使你的代码变脆.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有