golang中的错误处理方法


本文摘自php中文网,作者尚,侵删。

错误处理,是非常重要的。在go语言中,错误处理被设计的十分简单。

如果做得好,会在排查问题等方面很有帮助;如果做得不好,就会比较麻烦。

从1.0开始,go中定义错误为 error 接口

1

2

3

4

5

// The error built-in interface type is the conventional interface for

// representing an error condition, with the nil value representing no error.

type error interface {

    Error() string

}

go语言中,错误处理的几种方式:

1、通过判断值相等。像 io.EOF,go语言中,称为 sentinel error

2、通过断言( type assertion or type switch),判断err的类型或者是否实现了某个接口

3、利用包提供的方法。像 os.IsNotExist。go语言中,称为 ad-hoc check

4、当上面3中方式不可用时,通过搜索 err.Error() 是否包含特定字符串。(不被推荐)

尽量不要使用 sentinel error

尽量不要使用 ad-hoc check

以上就是golang中的错误处理方法的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

使用bklexer进行词法分析

聊聊dubbo-go-proxy的authorityfilter

模块二 go语言进阶技术-错误处理(上)

如何实现一个更全面的golang版本的布谷鸟过滤器

golang sqlx捕捉错误

手撸golang 学ectd 手写raft协议13 小结

golang官方嵌入文件到可执行程序

关于一个mongodb和golang搭伙采坑

聊聊dubbo-go-proxy的accesslogfilter

2.golang 操作elasticsearch-7

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...