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.


 

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

59882. Свято-подорож у майбутнє «Ми переходимо у 5 клас» 112 KB
  Вчитель Здравствуйте дети И. Вчитель: Знаєте діти я в дитинстві мріяла стати чарівницею. А за столом – наша перша вчителька. Вчитель Любі хлопчики й дівчатка Вас вітає lm Mter Ви завжди бажані в школі.
59883. Все мы родом из детства 52.5 KB
  Ведущая 1: Три девицы под окном Пряли поздно вечерком. Ведущая 2: Кабы я была царица Говорит одна девица То на весь крещеный мир Приготовила б я пир. Ведущая 3: Кабы я была царица Ведущая...
59884. Выпускной - 2012 107 KB
  Ничто на Земле не бывает вечным И школьный год так быстротечен Внезапно наступил прощальный вечер И этот вечер выпускной Трек Внимание Впервые Сейчас Здесь и у нас Самое необыкновенное Самое звездное представление И не зря бытует мнение: звездами не рождаются.
59885. Випускний 85.5 KB
  Ведуча: В шкільній оселі свят завжди багато де музика лунає чути спів Але у нас сьогодні надзвичайне свято Ми проводжаємо своїх випускників 1 Ведучий: Тепер належить їм майбутнє України І їм долати сходинки життя.
59886. Раціональні вирази. Додавання та віднімання раціональних виразів 519.5 KB
  Знати: Зміст понять цілі вирази дробові вирази раціональний дріб Основну властивість дробу Алгоритм зведення раціонального дробу до нового знаменника Правило додавання та віднімання раціональних дробів з однаковими знаменниками...
59889. КОМП’ЮТЕРНА ВІРУСОЛОГІЯ 222.5 KB
  У процесі реалізації концепції профільного навчання в гуманітарних закладах викладач інформатики має чудову можливість на основі активації міжпредметних зв’язків значно поглибити вивчення матеріалу деяких тем курсу.
59890. Неклітинні форми життя і одноклітинні організми. Віруси, пріони 3.11 MB
  Дидактична мета: ознайомити студентів з історією відкриття вірусів; сформувати знання про будову властивості вірусів віріонів і пріонів; показати механізми проникнення вірусів у клітину; розкрити взаємозв’язок між імунною системою людини...