diff --git a/errors/errctx.go b/errors/errctx.go index 9d014aa2..7901c197 100644 --- a/errors/errctx.go +++ b/errors/errctx.go @@ -25,30 +25,41 @@ func (err ErrCtx) Unwrap() error { return err.err } -func New(ctx context.Context, message string) error { - return ErrCtx{ctx: ctx, err: errgo.New(message)} +// New wraps errors.New from the pkg/errors library +// +// These errors are usually created outside any function code at the top of +// files, so no context is needed. +func New(message string) error { + return errors.New(message) +} + +func NewWithCtx(ctx context.Context, message string) error { + return ErrCtx{ctx: ctx, err: errors.New(message)} } func Newf(ctx context.Context, format string, args ...interface{}) error { - return ErrCtx{ctx: ctx, err: errgo.Newf(format, args...)} + return ErrCtx{ctx: ctx, err: errors.Errorf(format, args...)} } +func Errorf(ctx context.Context, format string, args ...interface{}) error { + return ErrCtx{ctx: ctx, err: errors.Errorf(format, args...)} +} + +// Notef is wrapping an error with the underneath errgo library func Notef(ctx context.Context, err error, format string, args ...interface{}) error { return ErrCtx{ctx: ctx, err: errgo.Notef(err, format, args...)} } +// Wrap is wrapping an error with the underneath errors library func Wrap(ctx context.Context, err error, message string) error { return ErrCtx{ctx: ctx, err: errors.Wrap(err, message)} } +// Wrapf is wrapping an error with the underneath errors library func Wrapf(ctx context.Context, err error, format string, args ...interface{}) error { return ErrCtx{ctx: ctx, err: errors.Wrapf(err, format, args...)} } -func Errorf(ctx context.Context, format string, args ...interface{}) error { - return ErrCtx{ctx: ctx, err: errors.Errorf(format, args...)} -} - // RootCtxOrFallback unwrap all wrapped errors from err to get the deepest context // from ErrCtx errors. If there is no wrapped ErrCtx RootCtxOrFallback returns ctx from parameter. func RootCtxOrFallback(ctx context.Context, err error) context.Context {