Improve exception reporting

This commit is contained in:
Christopher Baines 2025-02-27 12:09:04 +00:00
parent ed4113af51
commit 21e328aebb
3 changed files with 50 additions and 58 deletions

View file

@ -129,18 +129,16 @@
(lambda ()
(let ((new-resource
(with-exception-handler
(lambda (exn)
(simple-format
(current-error-port)
"exception adding resource to pool ~A: ~A:\n ~A\n"
name
return-new-resource
exn)
#f)
(lambda _ #f)
(lambda ()
(with-exception-handler
(lambda (exn)
(backtrace)
(simple-format
(current-error-port)
"exception adding resource to pool ~A: ~A\n\n"
name
return-new-resource)
(print-backtrace-and-exception/knots exn)
(raise-exception exn))
(lambda ()
(start-stack #t (return-new-resource)))))
@ -155,18 +153,16 @@
(let loop ()
(let ((success?
(with-exception-handler
(lambda (exn)
(simple-format
(current-error-port)
"exception running resource pool destructor (~A): ~A:\n ~A\n"
name
destructor
exn)
#f)
(lambda _ #f)
(lambda ()
(with-exception-handler
(lambda (exn)
(backtrace)
(simple-format
(current-error-port)
"exception running resource pool destructor (~A): ~A\n"
name
destructor)
(print-backtrace-and-exception/knots exn)
(raise-exception exn))
(lambda ()
(start-stack #t (destructor resource))