首页 > 解决方案 > 如何在没有堆栈跟踪的情况下创建新错误?

问题描述

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

err = errors.New(fmt.Sprintf(...))

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

可能吗?

标签: goerror-handling

解决方案


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

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

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

import "errors"

err := errors.New("my error message")

或者使用格式化,使用fmt包:

import "fmt"

err := fmt.Errorf("I have %d bugs", 10)

推荐阅读