Вы можете взглянуть на новую библиотеку поддержки процентов.
compile 'com.android.support:percent:22.2.0'
Если вы добавите две точки останова, вы сможете отлаживать эти исключения. Для этого перейдите в Run | Показать | Точки останова и создать две глобальные точки останова (я делаю их глобально, потому что они очень полезны во всех моих приложениях). Первый должен называться «objc_exception_throw», а его расположение должно быть «libobjc.A.dylib». Второй должен быть «- [NSException raise]», а его местоположение должно быть «CoreFoundation».
Теперь, если вы начнете отладку приложения с включенными точками останова, оно должно прерваться при выдаче этих исключений. После этого вы сможете увидеть цепочку событий, которые привели к исключению в отладчике.
Hey activa - for more information about runtime exceptions, you should be able to open the debugger console and see more information. I assume you've already done that, but just in case - you can get to it by selecting Run -> Console from the menu. I'm not sure why it doesn't come up automatically!
Вы можете заключить свой UIApplicationMain в команду try / catch:
int main(int argc, char *argv[]) {
int retVal;
NSAutoreleasePool * pool;
@try
{
pool = [[NSAutoreleasePool alloc] init];
retVal = UIApplicationMain(argc, argv, nil, nil);
}
@catch(NSException* e)
{
NSLog(@"%@", e.reason);
}
@finally
{
[pool release];
}
return retVal;
}
Вам также следует изучить установку обработчика утверждений во время отладки: NSAssertionHandler .
Обновление: а также обработчик необработанных исключений: NSSetUncaughtExceptionHandler