sylvain wrote:
> Hi,
>
> the program below does not work as I would have expected on my system.
>
> #include <Foundation/Foundation.h>
> void MyEHandler(NSException* exception)
> {
> NSLog(@"exception: %...@\n",exception);
> }
> int
> main(int argc, const char *argv[])
> {
> id pool = [[NSAutoreleasePool alloc] init];
> NSSetUncaughtExceptionHandler(MyEHandler);
> /* compare function address, is ok */
> NSLog(@"MyEHandler: %p\n",MyEHandler);
> NSLog(@"MyEHandler: %p\n",NSGetUncaughtExceptionHandler());
> [NSException raise:@"crash" format:@"no reason"];
> [pool release];
> return 0;
> }
>
> $ ./obj/brokenexception
> 2009-02-20 22:11:14.668 brokenexception[15643] MyEHandler: 0x8048804
> 2009-02-20 22:11:14.984 brokenexception[15643] MyEHandler: 0x8048804
> Abandon
>
> I have installed GNUStep on Ubuntu. Package version: 7.2
>
> Is it a problem with me, the Ubuntu build or upstream?
Is the Ubuntu GNUstep Make configured with
--enable-native-objc-exceptions by any chance?
NSException does not call the uncaught exception handler if
_NATIVE_OBJC_EXCEPTIONS is defined. I guess it then becomes the
responsibility of libobjc. Is it a bug in libobjc not to do this?
- Truls
_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep