Предсказать вывод следующей программы на C ++.
|
Выход:
Constructing an object of Test Destructing an object of Test Caught 10
Когда генерируется исключение, деструкторы объектов (область действия которых заканчивается блоком try) автоматически вызываются до того, как будет реализован блок catch. Вот почему вышеприведенная программа печатает «Уничтожение объекта теста» перед «Поймано 10».
Что происходит, когда исключение выдается из конструктора? Рассмотрим следующую программу.
|
Выход:
Constructing an Object of Test1 Constructing an Object of Test2 Destructing an Object of Test1 Caught 20
Деструкторы требуются только для полностью построенных объектов. Когда конструктор объекта выдает исключение, деструктор для этого объекта не вызывается.
В качестве упражнения предсказать вывод следующей программы.
|
Мы расскажем больше об этой теме в отдельном посте. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Обработка исключений в C ++
- C ++ | Обработка исключений | Вопрос 5
- C ++ | Обработка исключений | Вопрос 4
- C ++ | Обработка исключений | Вопрос 6
- C ++ | Обработка исключений | Вопрос 8
- C ++ | Обработка исключений | Вопрос 1
- C ++ | Обработка исключений | вопрос 2
- C ++ | Обработка исключений | Вопрос 7
- C ++ | Обработка исключений | Вопрос 3
- C ++ | Обработка исключений | Вопрос 9
- C ++ | Обработка исключений | Вопрос 12
- C ++ | Обработка исключений | Вопрос 11
- C ++ | Обработка исключений | Вопрос 10
- Сравнение обработки исключений в C ++ и Java
- Виртуальное уничтожение с использованием shared_ptr в C ++
0.00 (0%) 0 votes