68962

Обробка похідних виняткових ситуацій

Лекция

Информатика, кибернетика и программирование

Якщо виняткові ситуації описуються за допомогою базового і похідних класів, при роботі з операторами catch слідує проявлять максимальну обережність, оскільки оператор catch, відповідний базовому класу, одночасно відповідає всім похідним класам.

Украинкский

2014-09-28

23 KB

0 чел.

Лекція № 24

Тема: Обробка похідних виняткових ситуацій

Якщо виняткові ситуації описуються за допомогою базового і похідних класів, при роботі з операторами catch слідує проявлять максимальну обережність, оскільки оператор catch, відповідний базовому класу, одночасно відповідає всім похідним класам. Таким чином, якщо необхідно перехопити виняткові ситуації базового і похідних класів, в послідовності операторів catch похідний клас слід обробляти першим. Якщо цього не зробити, оператор catch, відповідний базовому класу виняткової ситуації, також перехоплюватиме виняткові ситуації всіх похідних класів. Розглянемо наступну програму.

// Перехоплення похідних класів.

#include <iostream>

using namespace std;

class В

{

};

class D: public В

{

};

int main()

{

D derived;

try {

 throw derived;

} catch(B b) {

cout « "Перехоплення базового класу.\ п";

} catch(D d) {

cout « "Цей оператор не виконується.\ п";

}

return 0;

}

Оскільки об'єкт derived є екземпляром похідного класу він буде перехоплений першим оператором catch, а другий оператор catch ніколи виконуватися не буде. Деякі компілятори в таких випадках видають попередження. Інші компілятори взагалі вважають це помилкою. Так або інакше, щоб виправити цю ситуацію, слід поміняти порядок проходження операторів catch.


 

А также другие работы, которые могут Вас заинтересовать

12083. Робота з динамічною памяттю 78.5 KB
  Тема. Робота з динамічною пам’яттю Мета. Навчитися виділяти місце під об’єкти динамічно. Навчитися створювати та використовувати конструктор копіювання перевантажувати оператор присвоєння. Ознайомитися з принципами створення та функціонування деструкторів.
12084. Классы и объекты в С++ 21.75 KB
  Отчёт по лабораторной работе №1 По дисциплине Программирование Тема: Классы и объекты в С Вариант №8 Задачи. 1. Определить пользовательский класс в соответствии с вариантом задания смотри приложение. 2. Определить в классе следующие конструкторы: без пар
12085. Проектирование ХД в Deductor Warehouse 33.5 KB
  Практическое занятие № 2. Проектирование ХД в Deductor Warehouse Дана модель БД розничной торговой сети. Используя данные из таблиц хранящиеся в одноименных текстовыхфайлах выполнить следующие задания: Создать пустое ХД назвав файл Trade_Бригада.gdb а метку хранилища – Trade_Б...
12086. Исследование токовой и тепловой загрузки тиристоров в мо-стовой схеме управляемого выпрямителя однофазного тока при работе на RL - нагрузку 284 KB
  ЛАБОРАТОРНАЯ РАБОТА 2 по курсу Силовые полупроводниковые приборы Тема: Исследование токовой и тепловой загрузки тиристоров в мостовой схеме управляемого выпрямителя однофазного тока при работе на RL нагрузку. Цели: 1 продолжение знакомства с многообразием
12087. Введение в компьютерные сети 58 KB
  1. Введение в компьютерные сети 1.1. Локальные и глобальные сети На самом элементарном уровне сеть – это два компьютера обменивающихся информацией по соединяющему их кабелю. Кроме того компьютеры могут использовать общие разделяемые устройства например факсмодемы. ...
12088. Сетевые компоненты 39 KB
  Тема 2. Сетевые компоненты 2.1. Передача сигналов Для передачи по кабелю кодированных сигналов используют две технологии немодулированную передачу и модулированную передачу. 2.1.1.Немодулированная передача Немодулированные baseband системы передают данные в виде цифр
12089. Теоретическая модель сети 102.5 KB
  Тема 3. Теоретическая модель сети 3.1. Сетевые модели OSI и IEEE Project 802 3.1.1. Работа сети Работа сети заключается в передаче данных от одного компьютера к другому. В этом процессе можно выделить несколько отдельных задач: распознать данные; разбить данные на управляемые бл...
12090. Реальные сети 2.57 MB
  Тема 4. Реальные сети 4.1. Ethernet 4.1.1. Обзор 4.1.1.1. Происхождение В конце 60х годов Гавайский университет разработал глобальную вычислительную сеть ГВС под названием ALOHA. Университет располагая обширной территорией решил объединить в сеть все имеющиеся в его распоряжен
12091. Глобальные сети, Удаленный доступ 8.42 MB
  Глобальные сети. Удаленный доступ. Технология модемов Модем modem это устройство которое позволяет компьютерам обмениваться данными по телефонной линии. Когда компьютеры расположены далеко друг от друга и их нельзя соединить стандартным сетевым...