Add variation of panicWrap that does not take in a context

This commit is contained in:
2025-01-30 19:29:02 -05:00
parent 1133e261bf
commit dc7c7b5c73
2 changed files with 34 additions and 1 deletions

17
util.go
View File

@@ -19,7 +19,22 @@ func defaul[T comparable](value, def T) T {
return value
}
func panicWrap(ctx context.Context, f func (context.Context) error) (err error) {
func panicWrap(f func() error) (err error) {
defer func () {
if pan := recover(); pan != nil {
if panErr, ok := pan.(error); ok {
err = panErr
} else {
err = errors.New(fmt.Sprint(pan))
}
}
} ()
err = f()
return
}
func panicWrapCtx(ctx context.Context, f func(context.Context) error) (err error) {
defer func () {
if pan := recover(); pan != nil {
if panErr, ok := pan.(error); ok {