運行下面的代碼,堆棧跟蹤輸出,行號為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))}
1 回答

暮色呼如
TA貢獻1853條經驗 獲得超9個贊
我想你想要的是:
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)
}
- 1 回答
- 0 關注
- 147 瀏覽
添加回答
舉報
0/150
提交
取消