Обработка исключений в Obj-C - PullRequest
6 голосов
/ 23 апреля 2010

Я читал об обработке исключений в документах Apple для разработчиков , но мне было интересно, почему исключения по стандартным операциям C не обнаруживаются?

например. приведенный ниже код по-прежнему приводит к сбою приложения, не перехватывая div на ноль. Будет ли блок @ try / @ catch перехватывать только код Obj-C?

@try {
    int i = 10 / 0;
}
@catch (NSException * e) {
    NSLog(@"Div by zero!");
}
@finally {
    // Nothing...
}

1 Ответ

3 голосов
/ 23 апреля 2010

Деление на ноль не является исключением типа NSException. На самом деле, это не совсем «исключение» с точки зрения языка программирования. Сам по себе C не имеет исключений так же, как это делают C ++, Java и т. Д. Когда происходит деление на 0 в C, процессор «выдает» исключение, и обработка этой ошибки происходит на гораздо более низком уровне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...