1 Программирование на языке Си++. 2 Модуль 8. УПРАВЛЕНИЕ ИСКЛЮЧЕНИЯМИ Применение операторов try, catch, throw Динамическая идентификация типов времени.

Презентация:



Advertisements
Похожие презентации
1 Программирование на языке Си++. 2 Модуль 6. НАСЛЕДОВАНИЕ И ПОЛИМОРФИЗМ Виртуальные функции и позднее связывание Множественное наследование Виртуальный.
Advertisements

1 Программирование на языке Си++. 2 Модуль 5. СТАТИЧЕСКИЕ ЭЛЕМЕНТЫ ДАННЫХ Статические методы Константные объекты и методы Правила инициализации и использования.
1 Программирование на языке Си++. 2 Модуль 4. ПЕРЕГРУЗКА ОПЕРАЦИЙ Методы преобразования. Классы потоков Си++ Операции замещения и вставки Ввод/вывод в.
1 Программирование на языке Си++. Модуль 9. ИСПОЛЬЗОВАНИЕ Microsoft Developer Studio Интерфейс Developer Studio (Мастерской разработчика) Создание консольного.
Лекция 31. Динамическая информация о типе Красс Александр СПбГУ ИТМО, 2009.
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 1 Процедурный подход к разработке программ (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем,
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 4 Работа с бинарными файлами (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков.
Обработка исключительных ситуаций Исключительная ситуация (исключение) – это ошибка, возникающая во время выполнения программы. Например, ошибка работы.
1 Программирование на языке Си++. 2 Модуль 1. ТИПЫ ДАННЫХ, ОПЕРАЦИИ И ФУНКЦИИ В Си++ Ссылочный тип данных Операции расширения контекста, new, delete Встроенные.
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 2 Время жизни и области видимости программных объектов (весенний семестр 2012 г.) Доцент Кафедры вычислительных.
Время жизни и области видимости программных объектов Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ.
Информационные технологии Литература Керниган Б., Ритчи Д. Язык программирования Си. М.И. Болски. Язык программирования Си. Справочник. 2.
Преобразования типов В языке C/C++ имеется несколько операций преобразования типов. Они используются в случае, если переменная одного типа должна рассматриваться.
Программа повышения квалификации «Системное программирование» Приоритетное направление модернизации и технологического развития экономики России - Стратегические.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 3 Работа с файлами (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков Артем.
Лекция 11 ОПЕРАЦИОННЫЕ СИСТЕМЫ ОДНОРАНГОВЫХ И ДВУХРАНГОВЫХ КОМПЬЮТЕРНЫХ СЕТЕЙ Учебные вопросы: 1 Основные функции сетевой операционной системы 2 Одноранговые.
Лекция 4. Режимы работы микропроцессора. Взаимодействие микропроцессора с остальными устройствами Взаимодействие МП с остальными устройствами МПС происходит.
СИСТЕМЫ ПРОГРАММИРОВАНИЯ Системы программирования – это универсальные средства работы с информацией, инструменты для работы программистов, ориентированные.
Программирование Часть 8 Обработка исключений.
Транксрипт:

1 Программирование на языке Си++

2 Модуль 8. УПРАВЛЕНИЕ ИСКЛЮЧЕНИЯМИ Применение операторов try, catch, throw Динамическая идентификация типов времени выполнения (RTTI) Операции приведения типа

3 Понятие исключения. Обработка исключительных ситуаций (начало) Исключение (исключительная ситуация) особая, часто аномальная, ситуация, возникающая в программе на этапе исполнения таковой и нарушающая обычный ход вычислительного процесса. Механизм взаимодействия компонентов программы в исключительных ситуациях носит название обработки исключительных ситуаций Обработка исключительных ситуаций в программе на языке Си++ предполагает включение в ее текст контролируемых блоков и обработчиков исключений Контролируемый блок try { ; } Оператор возбуждения исключения формирует временный статический объект-исключение, тип которого определяется типом выражения в операторе throw ; Модуль 8. УПРАВЛЕНИЕ ИСКЛЮЧЕНИЯМИ

4 Понятие исключения. Обработка исключительных ситуаций (окончание) Специализированный обработчик исключения «настроен» на обработку исключений одного типа catch( [ ] ) { ; } Универсальный обработчик исключения «настроен» на обработку исключений всех типов catch(...){ ; } За каждым контролируемым блоком обязательно расположен один или несколько обработчиков исключений – При наличии нескольких обработчиков они должны отличаться типами обрабатываемых исключений – Обработчик catch (...) должен идти последним – Исключение как объект не локализуется в контролируемом блоке и не исчезает, пока не будет должным образом обработано. Благодаря этому исключение может выступать средством передачи любого количества информации из точки возбуждения в точку обработки исключительной ситуации Модуль 8. УПРАВЛЕНИЕ ИСКЛЮЧЕНИЯМИ

5 Динамическая идентификация типов (RTTI) Динамическая идентификация типов (RTTI) позволяет установить фактический производный тип объекта, адресуемого по указателю на базовый полиморфный класс. Для выяснения фактического производного типа служит унарная операция typeid, операнд которой в этом случае должен иметь тип класса хотя бы с одной виртуальной функцией В общем виде выражение с операцией typeid имеет вид typeid( ) Тип каждого из этих двух выражений const type_info&. RTTI-операция typeid это событие времени выполнения для классов с виртуальными функциями и событие времени компиляции для остальных типов [ЛЛ01] Модуль 8. УПРАВЛЕНИЕ ИСКЛЮЧЕНИЯМИ

66 Список литературы [КР92] Керниган Б., Ритчи Д. Язык программирования Си / Пер. с англ. М.: Финансы и статистика, с. [КР06] Керниган Б., Ритчи Д. Язык программирования C / Пер. с англ. М.: Вильямс, с. [ЛЛ01] Липпман С., Лажойе Ж. Язык программирования C++. Вводный курс. СПб.: Невский диалект, с. [Под 03] Подбельский В.В. Язык Си++: Учеб. пособие. 5-е изд. М.: Финансы и статистика, – 560 с., ил. [Под 04] Подбельский В.В., Фомин С.С. Программирование на языке Си. – 2-е доп. изд. – М.: Финансы и статистика, – 600 с. [Стр 08] Страуструп Б. Язык программирования С++. Специальное издание. СПб.: Невский диалект, с.