首页 > 编程笔记 > Go语言笔记 阅读:12

Go语言errors包的用法(附带实例)

Go 语言的 errors 库包含用于操作错误的函数。Go 语言使用 error 类型返回在程序执行某个函数时遇到的错误。如果返回的 error 值为 nil,则表示未遇到错误;否则 error 返回说明遇到哪个错误的字符串。

注意,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: 字符串不能为空

相关文章