Errors(package)
error 接口
- go 语言跟其他编程语言不一样,其他编程语言的表示错误的方式很多种,可以通过返回值或者抛异常等方式来输出错误信息,例如 php 语言;但是 go 语言在错误处理方面,认为错误是预期处理,统一采用 error 类型的数据返回;而异常则认为是已知 bug 问题导致的,一个良好的程序是不应该发生 panic 异常;
- 内建 error 类型是个接口类型,内建的意思是 error 是个预定义的错误抽象数据类型,是属于系统级的,不需要引入任何包或者其他操作就可以直接使用的,类似 int8 类型
- 在 buildin 内建包里可以看到定义方式,包含单一方法 Error (),用来输出错误信息
error 接口源码
errors 源码包
- 源码包文件列表
- 主要是 errors.go 文件
内部定义一个错误字符串的结构体 (errorString),结构体成员 s 存储错误信息;并在 * errorString 结构体指针上实现 error 接口
提供一个 New 函数,通过传入字符串文本,返回 * errorString 结构体指针类型
使用方式案例
package main import ( "errors" "fmt" ) func main () { // 创建一个错误具体类型 err := errors.New("内存溢出") // 调用Error方法输出错误信息 fmt.Println(err.Error()) }
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: