如何在没有堆栈跟踪的情况下创建新错误?

pix*_*xel -2 error-handling go

github.com/pkg/errors通过调用创建了一个错误:

err = errors.New(fmt.Sprintf(...))
Run Code Online (Sandbox Code Playgroud)

默认情况下,它填充了堆栈跟踪。我想创建一个error但只有一条消息。

是否可以?

Mar*_*arc 5

你正在使用github.com/pkg/errors包,它做了一些简单的事情,比如添加堆栈跟踪。

但这是一个外部包。标准库中的错误包不包括堆栈跟踪。

您可以按如下方式使用它:

import "errors"

err := errors.New("my error message")
Run Code Online (Sandbox Code Playgroud)

或者格式化,使用fmt包:

import "fmt"

err := fmt.Errorf("I have %d bugs", 10)
Run Code Online (Sandbox Code Playgroud)