Книга: Системное программирование в среде Windows
Резюме: последовательность обработки исключений
Резюме: последовательность обработки исключений
На рис. 4.2 в схематическом виде представлена последовательность событий, происходящих после возникновении исключения. Слева приведен программный код, а обведенные кружками цифры справа обозначают операции, выполняемые языковыми средствами поддержки времени выполнения. Отдельные элементы приведенной схемы имеют следующий смысл:
1. Возникло исключение; в данном случае это деление на ноль.
2. Управление передается обработчику исключений, в котором вычисляется выражение фильтра. Сначала вызывается функция GetExceptionCode, а затем ее возвращаемое значение используется в качестве аргумента функции Filter.
3. Функция фильтра выполняет действия, определяемые значением кода исключения.
4. В данном случае значением кода исключения является EXCEPTION_INT_DIVIDE_BY_ZERO.
5. Функция фильтра устанавливает, что должен быть выполнен код обработчика исключений, и поэтому возвращает значение EXCEPTION_EXECUTE_HANDLER.
6. Выполняется код обработчика исключений, связанного с оператором _except.
7. Управление передается за пределы блоков try и except.
Рис. 4.2. Последовательность операций при обработке исключений
- 5.3. Оптимальная последовательность вопросов
- Правильная стратегическая последовательность
- Резюме
- 1.2. Понятие информации. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- Генерирование исключений
- 3.9 Резюме
- 4.11 Резюме
- 5.10 Резюме
- Методы грамотной обработки возражений изменению
- 6.8 Резюме
- 7.11 Резюме
- 8.4 Резюме