一个好用的errors包

本文介绍了一个在Go语言中处理错误的好方法,通过使用pkg/errors包,可以轻松地在代码中包裹错误并打印出详细的错误位置,包括文件名和行号,使错误追踪更加直观。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个好用的errors包

可以报出错误的位置
地址

"github.com/pkg/errors"
demo

包裹错误,打印出像panic的效果

func Wrap(err error, message string) error

打印错误需要%+v才能详细输出

package main

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

func main() {
	err0 := t1()
	err := errors.Wrap(err0, "附加信息")
	if err != nil {
		//打印错误需要%+v才能详细输出
		fmt.Printf("err :%+v\n", err)
	}

	fmt.Println("Hello world")
}

func t1() error {
	return E.New("错误")
}

打印信息

err :错误
附加信息
main.main
	D:/test/errTest.go:11
runtime.main
	D:/Go/src/runtime/proc.go:200
runtime.goexit
	D:/Go/src/runtime/asm_amd64.s:1337
Hello world

Process finished with exit code 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值