diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-errors/v2/errors.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-errors/v2/errors.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-errors/v2/errors.go b/vendor/codeberg.org/gruf/go-errors/v2/errors.go new file mode 100644 index 000000000..180fc6799 --- /dev/null +++ b/vendor/codeberg.org/gruf/go-errors/v2/errors.go @@ -0,0 +1,36 @@ +package errors + +import ( + "fmt" +) + +// New returns a new error created from message. +func New(msg string) error { + return create(msg, nil) +} + +// Newf returns a new error created from message format and args. +func Newf(msgf string, args ...interface{}) error { + return create(fmt.Sprintf(msgf, args...), nil) +} + +// Wrap will wrap supplied error within a new error created from message. +func Wrap(err error, msg string) error { + return create(msg, err) +} + +// Wrapf will wrap supplied error within a new error created from message format and args. +func Wrapf(err error, msgf string, args ...interface{}) error { + return create(fmt.Sprintf(msgf, args...), err) +} + +// Stacktrace fetches a stored stacktrace of callers from an error, or returns nil. +func Stacktrace(err error) Callers { + var callers Callers + if err, ok := err.(interface { //nolint + Stacktrace() Callers + }); ok { + callers = err.Stacktrace() + } + return callers +} |