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中的错误处理方法的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

一周 go world 新鲜事

pprof最全功能

详解 golang 依赖管理之 mod

总结golang实现php常用函数

go string 解析

向github开源项目提交代码(pr)的详细步骤:

记录go的循环遍历使用小坑

[now]-go的时间工具箱

go1.16 embed 实践

go中sync.mutex源码解读

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




打赏

取消

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

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

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

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

评论

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