diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-errors/v2/error.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-errors/v2/error.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-errors/v2/error.go b/vendor/codeberg.org/gruf/go-errors/v2/error.go new file mode 100644 index 000000000..ed1217a29 --- /dev/null +++ b/vendor/codeberg.org/gruf/go-errors/v2/error.go @@ -0,0 +1,35 @@ +//go:build !notrace +// +build !notrace + +package errors + +type errormsg struct { + msg string + wrap error + stack Callers +} + +func create(msg string, wrap error) *errormsg { + return &errormsg{ + msg: msg, + wrap: wrap, + stack: GetCallers(2, 10), + } +} + +func (err *errormsg) Error() string { + return err.msg +} + +func (err *errormsg) Is(target error) bool { + other, ok := target.(*errormsg) + return ok && (err.msg == other.msg) +} + +func (err *errormsg) Unwrap() error { + return err.wrap +} + +func (err *errormsg) Stacktrace() Callers { + return err.stack +} |