Skip to content

Commit b01332d

Browse files
author
Jelle Dijkstra
committed
Add stack
1 parent f754577 commit b01332d

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

internal/controller/atom_controller.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ func (r *AtomReconciler) Reconcile(ctx context.Context, req ctrl.Request) (resul
136136

137137
// Recover from a panic so we can add the error to the status of the Atom
138138
defer func() {
139-
if err = panicRecoverer(); err != nil {
140-
r.logAndUpdateStatusError(ctx, atom, err)
139+
if rec := recover(); rec != nil {
140+
err = recoveredPanicToError(rec)
141141
}
142142
}()
143143

@@ -285,18 +285,18 @@ func ttlExpired(atom *pdoknlv3.Atom) bool {
285285
return false
286286
}
287287

288-
func panicRecoverer() error {
289-
var err error
290-
if rec := recover(); rec != nil {
291-
switch x := rec.(type) {
292-
case string:
293-
err = errors.New(x)
294-
case error:
295-
err = x
296-
default:
297-
err = errors.New("unknown panic")
298-
}
288+
func recoveredPanicToError(rec any) (err error) {
289+
switch x := rec.(type) {
290+
case string:
291+
err = errors.New(x)
292+
case error:
293+
err = x
294+
default:
295+
err = errors.New("unknown panic")
299296
}
300297

301-
return err
298+
// Add stack
299+
err = errors.WithStack(err)
300+
301+
return
302302
}

0 commit comments

Comments
 (0)