Я с трудом понимая переход от @ попытаться @ уловомПереход между @try @catch
Я понимаю, что если заявление от блока @try бросает исключение, блок @catch запускается на выполнение , Я не понимаю, как объект NSException, содержащий информацию об исключении, передается в качестве аргумента. Многие вещи, которые я читаю онлайн об исключениях, пропускают эту деталь.
Пример из моей книги
@try {
[myArray objectAtIndex: 2];
}
@catch (NSException *exception){
NSLog(@"Caught %@%@", exception.name, exception.reason);
}
Поэтому, как только исключение обнаруживаются является объект исключения автоматически создается и отправляется в блок @catch?
Как только исключение поймано блоком @catch, оно создается указателем исключения, а имя и причина являются частью созданного исключения – user2277872
Итак, как только исключение поймано блоком @catch, создается указатель ссылка на это исключение? – Brosef
точно. NSException создает его как указатель на исключение, а указатель устанавливается на любой вид исключения. Существуют общие исключения для NSException, а затем NSException имеет возможность создавать новые для тех, с которыми общий не будет работать. – user2277872