Macos NSSetUncaughtExceptionHandler不在Lion 10.7.3上工作

Macos NSSetUncaughtExceptionHandler不在Lion 10.7.3上工作,macos,cocoa,nsexception,Macos,Cocoa,Nsexception,下面是新cocoa测试项目中应用程序委托的简单代码 void onUncaughtException(NSException *exception){ NSLog(@"Caught!!! %@", exception); } - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { NSSetUncaughtExceptionHandler(&onUncaughtException);

下面是新cocoa测试项目中应用程序委托的简单代码

void onUncaughtException(NSException *exception){
    NSLog(@"Caught!!! %@", exception);
}

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    NSSetUncaughtExceptionHandler(&onUncaughtException);

    NSException *exception = [[NSException alloc]initWithName:@"exception" reason:@"exception reason here" userInfo:nil];
    @throw exception;
}
我只得到带有异常名称和原因的单控制台日志行,但不会调用onUncaughtException。应用程序继续运行,没有问题


我错过了什么?我在调试版本和发布版本上尝试了这一方法,但结果相同。

我不知道它的所有细节,但我怀疑NSApplication正在拦截它,直到它无法通过您的处理程序。

是的,应用程序主线程上的异常不是未捕获的@因此,请参见。