Go语言中错误处理实例分析

本文实例讲述了Go语言中错误处理的方法。分享给大家供大家参考。具体分析如下:

错误是可以用字符串描述自己的任何东西。 主要思路是由预定义的内建接口类型 error,和其返回返回字符串窜的方法 Error 构成。
type error interface {
Error() string
}

当用 fmt 包的多种不同的打印函数输出一个 error 时,会自动的调用该方法。

package main
import (
    "fmt"
    "time"
)
type MyError struct {
    When time.Time
    What string
}
func (e *MyError) Error() string {
    return fmt.Sprintf("at %v, %s",
        e.When, e.What)
}
func run() error {
    return &MyError{
        time.Now(),
        "it didn't work",
    }
}
func main() {
    if err := run(); err != nil {
        fmt.Println(err)
    }
}

希望本文所述对大家的Go语言程序设计有所帮助。