Если возникает исключение, выполнение вашего блока немедленно прерывается, и выполняется секция @catch (если она обрабатывает соответствующий тип исключения).
Пример кода:
@try {
NSArray* arr = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];
NSLog([arr objectAtIndex: 0]);
NSLog([arr objectAtIndex: 5]);
NSLog(@"Lala");
}
@catch (NSException * e) {
NSLog(@"%@, %@", [e name], [e reason]);
}
Output:
1
NSRangeException, *** -[NSCFArray objectAtIndex:]: index (5) beyond bounds (3)