Macos NSSetUncaughtExceptionHandler不在Lion 10.7.3上工作
下面是新cocoa测试项目中应用程序委托的简单代码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);
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正在拦截它,直到它无法通过您的处理程序。是的,应用程序主线程上的异常不是未捕获的@因此,请参见。