Почему @try не блокирует работу? Приложение рухнуло, но предполагалось, что оно попадет в блок @try.
NSString* test = [NSString stringWithString:@"ss"];
@try {
[test characterAtIndex:6];
}
@catch (NSException * e) {
NSLog(@"Exception: %@", e);
}
@finally {
NSLog(@"finally");
}
iphone
objective-c
try-catch-finally
nsexception
Александру Цирк
источник
источник
Ответы:
Все работают отлично :)
Журнал:
источник
Теперь я нашел проблему.
Удаление
obj_exception_throw
из моих точек останова решило это. Теперь он перехватывается@try
блоком, а такжеNSSetUncaughtExceptionHandler
будет обрабатывать его, если@try
блок отсутствует.источник
Objective-C - это не Java. В Objective-C исключения называются так, как они называются. Исключения! Не используйте их для обработки ошибок. Это не их предложение. Просто проверьте длину строки перед использованием characterAtIndex, и все в порядке ....
источник