Added a CLEANUP mechanism to the exception handling library. Fixed a bug in the way setjmp() return codes were being handled that lead to infinite loops in some cases, exceptions getting missed in others. Made FINALLY {} a required element (unfortunately).

This commit is contained in:
2024-12-22 08:55:51 -05:00
parent d20fbbebe6
commit 53e7e6a094
14 changed files with 195 additions and 82 deletions

View File

@@ -5,8 +5,12 @@ int main(void)
{
TRY {
THROW(2, NULL);
} CLEANUP {
} EXCEPT {
} DEFAULT {
EXCLIB_TRACE("Inside of DEFAULT - I catch everything!");
return 0;
} FINALLY {
} ETRY;
return 0;
return 1;
}