比较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()方法返回的字符串进行比较.它可以使你的代码变脆. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |