gpt4 book ai didi

go - 通过xerrors.Errorf()输出错误时,是否可以设置xerrors.Caller(1)?

转载 作者:行者123 更新时间:2023-12-01 22:18:03 31 4
gpt4 key购买 nike

运行以下代码,以行号fmt.Print(...)输出堆栈跟踪。但是我想输出logError(err)的行。我想我需要调用xerrors.Caller(1)来做到这一点,但我不知道如何做。帮我。

import (
"fmt"
"io/ioutil"

"golang.org/x/xerrors"
)

func main() {
_, err := ioutil.ReadFile("")
if err != nil {
logError(err)
return
}
}

func logError(err error) {
fmt.Printf("%+v", xerrors.Errorf(": %w", err))
}

最佳答案

我认为您想要的是:

import (
"fmt"
"io/ioutil"

"golang.org/x/xerrors"
)

func doWhatever() error {
_, err := ioutil.ReadFile("")
if err != nil {
return xerrors.Errorf("failed doing whatever: %w", err)
}
return nil
}

func main() {
err := doWhatever()
if err != nil {
logError(err)
return
}
}

func logError(err error) {
fmt.Printf("%+v", err)
}

关于go - 通过xerrors.Errorf()输出错误时,是否可以设置xerrors.Caller(1)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56252621/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com