Go语言errors包的用法(附带实例)
Go 语言的 errors 库包含用于操作错误的函数。Go 语言使用 error 类型返回在程序执行某个函数时遇到的错误。如果返回的 error 值为 nil,则表示未遇到错误;否则 error 返回说明遇到哪个错误的字符串。
注意,error 可以是任意类型,这意味着函数返回的 error 值可以包含任意信息,不一定是字符串。此外,error 不一定表示错误,它可以表示任何信息。例如,io 库就使用 error 类型的 io.EOF 表示数据读取结束,而不是遇到错误。
errors 库实现的是最简单的 error 类型,即只包含一个字符串。它可以记录大多数情况下遇到的错误信息。errors 库只有一个 New() 函数,用于生成最简单的 error 对象。
New() 函数的语法格式如下:
【实例】返回“字符串不能为空”错误。定义 check() 函数,检测“字符串是否为空”。当字符串为空时,返回“字符串不能为空”的错误信息。代码如下:
注意,error 可以是任意类型,这意味着函数返回的 error 值可以包含任意信息,不一定是字符串。此外,error 不一定表示错误,它可以表示任何信息。例如,io 库就使用 error 类型的 io.EOF 表示数据读取结束,而不是遇到错误。
errors 库实现的是最简单的 error 类型,即只包含一个字符串。它可以记录大多数情况下遇到的错误信息。errors 库只有一个 New() 函数,用于生成最简单的 error 对象。
New() 函数的语法格式如下:
func New(text string) error
【实例】返回“字符串不能为空”错误。定义 check() 函数,检测“字符串是否为空”。当字符串为空时,返回“字符串不能为空”的错误信息。代码如下:
package main
import (
"errors"
"fmt"
)
func check(s string) (string, error) {
if s == "" {
err := errors.New("字符串不能为空")
return "", err
} else {
return s, nil
}
}
func main() {
s, err := check("")
if err != nil {
fmt.Printf("err: %v\n", err.Error())
} else {
fmt.Printf("s: %v\n", s)
}
}
运行结果如下:
err: 字符串不能为空
ICP备案:
公安联网备案: