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

相关阅读 >>

golang环形单项链表

golang 是面向对象还是面向过程?

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

golang程序设计——函数

面试题:让你捉摸不透的 go reslice

go并发编程实战学习(一)

手撸golang 行为型设计模式 命令模式

golang中如何比较字符串是否相等

企业项目迁移go-zero全攻略(二)

阅读golang 切片(slice)底层源码

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




打赏

取消

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

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

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

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

评论

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