Hi,
Am 20.02.14 18:27, schrieb Mathias Bauer:
I tested, that a simple @try/@catch works (an exception thrown in a
function called from the @try block is caught successfully and the
program exits normally). But throwing another exception in the function
that caught the exception freezes the program again. It doesn't matter
if the second exception is thrown inside the @catch block or outside of it.
More exactly:
EH works if an exception is thrown and caught in a function and then
another exception is thrown and caught in that same function.
EH works if an exception is thrown in a function and caught in another
function above on the call stack.
The program does not continue if an exception is thrown and caught in a
function and then another exception is thrown in that same function and
shall be caught in a function above on the call stack (the typical
"rethrow" scenario).
From debugging the code I could see that in this case the function
"internal_objc_personality" in eh_personality.c only finds a handler
that is a cleanup, and so the function is called again and again, always
with the same result.
Regards,
Mathias
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep