fixup! util/vizerror: add new package for visible errors

Signed-off-by: Will Norris <will@tailscale.com>
This commit is contained in:
Will Norris
2023-01-31 16:01:02 -08:00
committed by Will Norris
parent 8e6a1ab175
commit 598ec463bc
3 changed files with 54 additions and 9 deletions

View File

@@ -11,14 +11,31 @@ import (
)
// Error is an error that is safe to display to end users.
type Error error
// New returns an error that formats as the given text.
func New(text string) error {
return Error(errors.New(text))
type Error struct {
err error
}
// Errorf returns an error with the specified format and values.
func Errorf(format string, a ...any) error {
return Error(fmt.Errorf(format, a...))
// Error implements the error interface.
func (e Error) Error() string {
return e.err.Error()
}
// New returns an Error that formats as the given text.
func New(text string) Error {
return Error{errors.New(text)}
}
// Errorf returns an Error with the specified format and values.
func Errorf(format string, a ...any) Error {
return Error{fmt.Errorf(format, a...)}
}
// Unwrap returns the underlying error.
func (e Error) Unwrap() error {
return e.err
}
// Wrap err with a vizerror.Error.
func Wrap(err error) Error {
return Error{err}
}