error接口
Go语言引入了一个关于错误处理的标准模式,即error
接口,它是Go语言内建的接口类型,该接口的定义如下:
type error interface {
Error() string
}
Go语言的标准库代码包errors
为用户提供如下方法:
通过以上代码,可以发现error
接口的使用是非常简单的(error
是一个接口,该接口只声明了一个方法Error()
,返回值是string
类型,用以描述错误)。下面看一下基本使用:
-
首先导包:
import "errors"
-
然后调用其对应的方法:
当然fmt包中也封装了一个专门输出错误信息的方法,如下所示:
了解完基本的语法以后,接下来使用error
接口解决Test()
函数被0整除的问题。如下所示:
在Test()
函数中,判断变量b
的取值,如果有误,返回错误信息。并且在main()
中接收返回的错误信息,并打印出来。
这种用法是非常常见的,例如,后面讲解到文件操作时,涉及到文件的打开,如下:
在打开文件时,如果文件不存在,或者文件在磁盘上存储的路径写错了,都会出现异常,这时可以使用error
记录相应的错误信息。