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?