©
本文档使用
php中文网手册 发布
import "errors"
概述
索引
示例
Errors包实现了处理错误的函数。
package mainimport ("fmt""time")//MyError是一个包含时间和消息的错误实现。type MyError struct {
When time.Time
What string}func (e MyError) Error() string {return fmt.Sprintf("%v: %v", e.When, e.What)}func oops() error {return MyError{
time.Date(1989, 3, 15, 22, 30, 0, 0, time.UTC),"the file system has gone away",}}func main() {if err := oops(); err != nil {
fmt.Println(err)}}func New(text string) error
打包全新(Errorf)
errors.go
func New(text string) error
New 返回格式为给定文本的错误。
package mainimport ("errors""fmt")func main() {
err := errors.New("emit macho dwarf: elf header corrupted")if err != nil {
fmt.Print(err)}}fmt 包的 Errorf 函数使我们可以使用包的格式化功能来创建描述性错误消息。
package mainimport ("fmt")func main() {const name, id = "bimmler", 17
err := fmt.Errorf("user %q (id %d) not found", name, id)if err != nil {
fmt.Print(err)}}