以下简单代码在新可可测试项目的应用程序委托上。
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。该应用程序继续运行没有问题。
我在这里想念什么?我在调试和发布版本上尝试了这个,结果相同。