>>> The [NSException raise] method just calls "@throw self" when 
>>> _NATIVE_OBJC_EXCEPTIONS is defined
>> 
>> It does, but [NSException raise] is another function (well, method, but 
>> after the call to objc_msgSend it’s a function).  The exception is thrown 
>> from 
>> there, not from the stack frame containing the @catch block.
> 
> It turns out that this is the crucial bit: throwing an Objective-C exception 
> through a C++ catch (or ObjC++ @catch) block was broken.  This is pretty 
> uncommon, but we now have a test for it and it appears to be passing.
> 
> I’ve also tweaked the build system so that we now don’t build a separate 
> libobjcxx, which should give a more consistent interface.

Thanks very much for all your work on this, David.  Happy New Year to you and 
the GNUstep crew.

Best,

David
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to