Обработка исключений

Обработка исключений является процессом управления нетипичными событиями (такими как нераспознанные сообщения), которые прерывают нормальный поток реализации программы. Без соответствующей обработки ошибок программа, встречающаяся с нетипичным событием, наиболее вероятно завершится путем непосредственного броска (или повышая), что известно как исключение.

Типы исключения

Существует ряд причин, почему исключение может быть выдано аппаратными средствами, а также программным обеспечением. Примеры включают арифметические ошибки, такие как деление на нуль, потеря значимости или переполнение, вызывая неопределенные инструкции (такие как попытка вызвать нереализованный метод), и попытка получить доступ к элементу набора за пределы.

Обработка исключений Используя директивы компилятора

Существует четыре директивы компилятора для поддержки обработки исключений:

  • A @try блок включает код, который может потенциально выдать исключение.

  • A @catch() блок содержит логику обработки исключений для исключений добавленный a @try блок. Вы можете иметь многократный @catch() блоки для ловли различных типов исключения.

  • A @finally блок содержит код, который должен быть выполнен, выдается ли исключение или нет.

  • A @throw директива повышает исключение, которое является по существу объектом Objective C. Вы обычно используете NSException объект, но не требуются, чтобы.

Этот пример показывает, как Вы используете директивы при выполнении кода, который мог бы повысить исключение:

Cup *cup = [[Cup alloc] init];
 
@try {
    [cup fill];
}
@catch (NSException *exception) {
    NSLog(@"main: Caught %@: %@", [exception name], [exception  reason]);
}
@finally {
    [cup release];
}

Сигнализация ошибок

Несмотря на то, что исключения обычно используются во многих средах программирования, чтобы управлять потоком программирования или показать ошибки, не используйте исключения таким образом в Сенсорных приложениях Какао и Какао. Вместо этого необходимо использовать возвращаемое значение метода или функции, чтобы указать, что ошибка произошла и предоставляет информацию о проблеме в ошибочном объекте. Для получения дополнительной информации см. Руководство по программированию Обработки ошибок.

Необходимые как условие статьи

    (Ни один)

Похожие статьи

    (Ни один)

Категорическое обсуждение