NSSetUncaughtExceptionHandler不适用于Lion 10.7.3

时间:2012-05-12 23:02:02

标签: macos cocoa nsexception

关于新可可测试项目的应用程序委托的以下简单代码。

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。该应用程序继续运行没有问题。

我在这里缺少什么?我在调试和发布版本上尝试了相同的结果。

1 个答案:

答案 0 :(得分:0)

我不知道它的所有细节,但我怀疑NSApplication在它失败到你的处理程序之前就拦截了它。