比较 Go 中的错误消息
在 Java 中,可以使用 Exception 类的 GetMessage() 方法检索错误消息。然而,在 Go 中,错误消息的访问方式有所不同。
如何比较错误消息
要在 Go 中比较错误消息,请按照以下步骤操作:
var errExample = errors.New("this is an example")
发生错误时,返回包级别错误变量而不是自定义字符串message:
return errExample
要检查具体错误,可以将返回的错误与包进行比较-级别错误变量:
if err == errExample { // handle it }
处理来自外部的错误包
如果需要比较外部包的错误,可以导出错误变量:
var ErrExample = errors.New("this is an example")
然后,在代码中使用导出的错误变量:
if err == somepackage.ErrExample { // handle it }
避免使用Error.Error()
避免与错误的 Error() 方法返回的字符串进行比较。这可能会使您的代码变得脆弱,因为错误消息可能会在没有通知的情况下发生更改。相反,请使用上述推荐的方法。
以上是如何有效比较Go中的错误信息?的详细内容。更多信息请关注PHP中文网其他相关文章!