diff options
| -rw-r--r-- | kcore/error.go | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/kcore/error.go b/kcore/error.go index bbacbf6..fad5f3d 100644 --- a/kcore/error.go +++ b/kcore/error.go @@ -1,6 +1,9 @@ package kcore -import "fmt" +import ( + "errors" + "fmt" +) func Wrap(err error, msg string) error { return fmt.Errorf("%s: %w", msg, err) @@ -14,3 +17,15 @@ func Expect(err error, msg string) { panic(err) } } + +var ErrAssert = errors.New("assertion error") + +func Assert(cond bool, msg string) { + if !cond { + err := ErrAssert + if msg != "" { + err = fmt.Errorf("%w: %s", err, msg) + } + panic(err) + } +} |
