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.


 

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

72665. Статистико-экономический анализ себестоимости подсолнечника на примере ЗАО «имени Ленина» и других хозяйств Аннинского, Богучарского и Павловского районов Воронежской области 173.73 KB
  Актуальность темы курсовой работы обусловлена тем, что для получения максимальной прибыли при минимальных затратах, на предприятии необходимо проводить более точный и тщательный анализ системы учёта издержек по видам затрат и состава себестоимости.
72668. Многоэтажное промышленное здание с неполным каркасом 595.33 KB
  Ребристую предварительно напряженную плиту армируют стержневой арматурой класса А-VI с механическим натяжением на упоры форм. К трещиностойкости плиты предъявляют требования III - ей категории. Изделие подвергают тепловой обработке при атмосферном давлении.
72670. Принятие покупочных решений индивидуальным потребителем 500.64 KB
  Актуальность работы состоит также и в том, что изучение спроса играет огромную роль в развитии предприятия и поддержания его конкурентоспособности, причем на всех уровнях: и на микро, и на макро, что особенно важно в условиях развития нашего рынка.
72673. Оценка стоимости нежилого торгового помещения (склад) с целью продажи 97.69 KB
  Неспециализированная недвижимость – это недвижимость, на которую существует всеобщий спрос, и которая обычно покупается, продается или арендуется на открытом рынке для того, чтобы использовать ее для существующих или аналогичных целей, или в качестве инвестиции, или для развития и освоения.