首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

错误 | errors

  • import "errors"
  • 概述
  • 索引
  • 示例

概述

Errors 包实现了处理错误的函数。

示例

代码语言:txt
复制
package main

import (
	"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

示例

Package New New (Errorf)

文件包

代码语言:javascript
复制
func New(text string) error

New 返回格式为给定文本的错误。

示例

代码语言:javascript
复制
package main

import (
	"errors"
	"fmt"
)

func main() {
	err := errors.New("emit macho dwarf: elf header corrupted")
	if err != nil {
		fmt.Print(err)
	}
}

示例(Errorf)

fmt 包的 Errorf 函数使我们可以使用包的格式化功能来创建描述性错误消息。

代码语言:javascript
复制
package main

import (
	"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)
	}
}

扫码关注腾讯云开发者

领取腾讯云代金券