leftibot f1a5c33d9a Fix #61: Comprehensive exception test suite and fix for silently swallowed exceptions
When all typed catch blocks failed to match a thrown exception's type,
handle_exception() would silently discard the exception and return a
default-constructed Boxed_Value instead of propagating it. This meant
code like `try { throw(42) } catch(string e) { }` would swallow the
int exception rather than letting it propagate to an outer handler.

The fix adds an explicit re-throw when no catch block matches, and
restructures eval_internal() with a nested try/catch to ensure the
finally block still executes before the unhandled exception propagates.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 18:35:08 -06:00
..
chaiscript Fix #61: Comprehensive exception test suite and fix for silently swallowed exceptions 2026-04-13 18:35:08 -06:00