69718

Вкладені блоки try-catch

Доклад

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

При обробці дійсно складних виключень, ви можете зацікавитися можливістю вкладати блоки try і оператори catch всередину інших операторів catch. C++ допускає вкладені блоки try, іншими словами, ви можете згенерувати нове виключення при обробці попереднього.

Украинкский

2014-10-09

28 KB

0 чел.

Тема 8: Вкладені блоки try-catch

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

Розглянемо приклад програмування. У лістингу 16.2 показаний початковий текст програми Error2.CPP, яка ілюструє вкладені блоки try. Програма генерує головне виключення, а потім - вторинну помилку в опера¬торе catch, який обробляє головне виключення. Цього оператора містить вкладений блок try і вкладені опе¬ратори catch. Операторів catch виводять повідомлення про виключення, яке вони обробляють.

Представимо виведення програми в лістингу 16.2.

Throwing the main exception Hand I i ng ma i n except i on Handl ing exception еггогз

Лістинг 16.2

Початковий текст програми Error2. СРР

// Програма ілюструє

// вкладені блоки try

#include <iostream.h>

// оголосити скелетні класи виключень class mainerror {; class error! {; class error2 {; class еггог3{;

main()

{

int nnum = 123;

// генеруємо виключення

}

cout « "Throwing the main exception\n";

try {

throw mainerror(); }

catch (mainerror) { cout « "HANDI ing main exception\n"; try { if (nnum < 10) throw error1(); else if (nnum < 100)

throw error2(); else if (nnum < 1000) throw error3();

catch (errorl)

cout « "Handling exception errorl"; catch (error2)

cout « "Handling exception error2"; catch (еггогз)

cout « "Handling exception еггогз"; catch (...)

cout « "Handling other errors\n";

catch (int ncode)

cout « ncode « " is not а valid int\n"; catch (char ccode)

cout « ccode « " is not а val id char\n" catch (long I Code)

cout « I Code « " is not а val id long\n"

return 0;

У лістингу 16.2 оголошені скелетні класи виключень mainerror, errorl, error2 і еггогз, а також визначена функція main, яка оголошує і ініціалізував змінну nnum типу int. Функція виводить повідомлення, а потім генерує виключення mainerrr в блоці try, за яким слідують чотири оператори catch, оброблювальних виключень типів mainerror, int, char і long. Першого оператора catch виводить повідомлення про помилку, а потім виконує мультіальтернатівний оператора if усередині вкладеного блоку try. Цього оператора if генерує виключення errorl або error2, або еггог3 залежно від значення змінної nnum. За вкладеним блоком try слідують чотири оператори catch, які обробляють виключення errorl, error2, еггогз і всі інші виключення. Кожного оператора catch просто виводить повідомлення про помилку.


 

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

22427. Матрицы, системы линейных уравнений 659 KB
  Матрицы системы линейных уравнений План 1. Сложение матриц и умножение матрицы на число. Элементарные преобразования матрицы. Приведение матрицы к ступенчатому виду.
22428. Матрицы. Системы линейных уравнений. Прямые. Плоскости. Кривые и поверхности второго порядка 1.91 MB
  Прямые на плоскости Уравнение линии на плоскости. Каноническое уравнение эллипса. Каноническое уравнение гиперболы. Каноническое уравнение параболы.
22429. СТРУКТУРА АПК И ЕЕ ХАРАКТЕРИСТИКА 47.5 KB
  СТРУКТУРА АПК И ЕЕ ХАРАКТЕРИСТИКА Структура АПК и соотношение отраслей. Территориальная и продуктовая структура АПК и ее характеристика Производственная и социальная инфраструктура АПК Организационноэкономический механизм хозяйствования в АПК 1. Структура АПК и соотношение отраслей. АПК характеризуется особой сложностью.
22430. ОРГАНИЗАЦИОННЫЕ ФОРМЫ КООПЕРАЦИИ ПО ПРОИЗВОДСТВУ СЕЛЬСКОХОЗЯЙСТВЕННОЙ ПРОДУКЦИИ 163 KB
  Межхозяйственные предприятия основы их создания и функционирования. Сельскохозяйственные предприятия выполняющие функцию МХП 4. К частным признакам относятся: глубина и устойчивость производственноэкономических связей между предприятиями организациями участвующими в кооперации; направление деятельности производство продукции переработка торговля производственное и бытовое обслуживание; специализация в рамках отдельной отрасли или территории; границы правовой и хозяйственной самостоятельности участников кооперации полное...
22431. СУЩНОСТЬ И ОБЪЕКТИВНЫЕ ПРЕДПОСЫЛКИ РАЗВИТИЯ АГРОПРОМЫШЛЕННОЙ ИНТЕГРАЦИИ 154.5 KB
  Агропромышленные предприятия 2. Агропромышленные предприятия Агропромышленные предприятия это производственнохозяйственные единицы осуществляющие силами своего коллектива производство сельскохозяйственной продукции ее переработку а в ряде случаев и реализацию. В составе агропромышленного предприятия как сельскохозяйственное так и промышленное производство теряют юридическую самостоятельность и становятся новым производственным подразделением нового комбинированного предприятия имеют общий уставной фонд единый...
22432. СОЗДАНИЕ И ФУНКЦИОНИРОВАНИЕ СПК В РЕСПУБЛИКЕ БЕЛАРУСЬ 86 KB
  Сельскохозяйственный кооператив является юридическим лицом и имеет следующие правомочия: создавать представительства и филиалы; осуществлять виды деятельности предусмотренные законом; иметь в собственности покупать или иным образом приобретать продавать закладывать и осуществлять иные вещные права на имущество и земельные участки в том числе переданные ему в виде паевого взноса в паевой фонд кооператива; создавать резервный и другие неделимые фонды кооператива и вкладывать средства резервного фонда в банки и другие кредитные учреждения...
22433. ОСНОВЫ СОЗДАНИЯ И ФУНКЦИОНИРОВАНИЯ КООПЕРАТИВОВ ЗА РУБЕЖОМ 277.5 KB
  В США кооперативам принадлежит 15 всего экспорта значительная доля рынка принадлежит потребительским кооперативам в Дании 33 в Норвегии 25. В мировой практике сложились два типа сельскохозяйственных кооперативов: кооперативы производителей называемые также обслуживающими или вертикальными кооперативами и производственные кооперативы называемые также артелями или горизонтальными кооперативами. Второй тип кооперативов производственных предполагает объединение крестьян для совместного производства продукции растениеводства...
22434. МЕЖОТРАСЛЕВЫЕ ИНТЕГРАЦИОННЫЕ СВЯЗИ В ПРОДУКТОВЫХ ПОДКОМПЛЕКСАХ 243.5 KB
  К продовольственному комплексу относятся отрасли или подотрасли а также виды деятельности материального производства при наличии следующих условий: прямого влияния производства на достижение основных целей комплекса; межотраслевых связей по поставкам и использованию продукции; обратных связей между отрасльюпотребителем и отрасльюпоставщиком. объединения отраслей подотраслей видов деятельности взаимоувязанных в экономическом технологическом отношении в процессе производства конечных продуктов. Формирование продуктовых подкомплексов...
22435. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КООПЕРАЦИИ 117 KB
  ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КООПЕРАЦИИ 1. Сущность кооперации. Формы и виды кооперации. Понятие межхозяйственной кооперации и направления ее развития.