summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-errors/v2/error.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-errors/v2/error.go')
-rw-r--r--vendor/codeberg.org/gruf/go-errors/v2/error.go35
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
+}