summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-errors/v2/error.go
blob: ed1217a29724d1d9aec79401748994d8327a5411 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
}