本网站可以通过分类标签帮助你快速筛选出你想看的文章,记住地址:www.Facec.cc

golang errors包装

package main

import (
	"fmt"
	"github.com/pkg/errors"
)

func readFile() error {
	err := errors.New("0.原始错误")
	return err
}
func readConfig() error {
	err := readFile()
	return errors.WithMessage(err, "1.读取配置错误")
}

func main() {
	err := readConfig()
	if err != nil {
		fmt.Printf("错误:%v\n\n\n", err)
		fmt.Printf("-----堆栈追踪-----:\n%+v\n---------\n\n\n", err)
		fmt.Printf("errors.Cause: %T\n", errors.Cause(err))
		fmt.Printf("errors.Cause: %v\n", errors.Cause(err))
		return
	}
}

# golang  

评论