Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»



Download 2 Mb.
bet133/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   129   130   131   132   133   134   135   136   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

try{

}
Âñå ôóíêöèè, ïðяìî èëè êîñâåííî âûçûâaåìûå èç try-áëîêa, òaêæå ñ÷èòaþòñя åìó ïðèíaäëåæaùèìè.

Ãåíåðaöèя (ïîðîxäåíèå) èñnëþ÷åíèя ïðîèñõîäèò ïî êëþ÷åâîìó ñëîâó thrOw, êîòî- ðîå óïîòðåáëяåòñя ëèáî ñ ïaðaìåòðîì, ëèáî áåç íåãî:


throw [ âûðaæåíèå ];
Òèï âûðaæåíèя, ñòîяùåãî ïîñëå thrOw, îïðåäåëяåò òèï ïîðîæäaåìîãî èñêëþ÷åíèя. Ïðè ãåíåðaöèè èñêëþ÷åíèя âûïîëíåíèå òåêóùåãî áëîêa ïðåêðaùaåòñя, è ïðîèñõî- äèò ïîèñê ñîîòâåòñòâóþùåãî îáðaáîò÷èêa è ïåðåäa÷a åìó óïðaâëåíèя. Êaê ïðaâè- ëî, èñêëþ÷åíèå ãåíåðèðóåòñя íå íåïîñðåäñòâåííî â try-áëîêå, a â ôóíêöèяõ, ïðяìî èëè êîñâåííî â íåãî âëîæåííûõ.
Íå âñåãäa èñêëþ÷åíèå, âîçíèêøåå âî âíóòðåííåì áëîêå, ìîæåò áûòü ñðaçó ïða- âèëüíî îáðaáîòaíî.  ýòîì ñëó÷aå èñïîëüçóþòñя âëîæåííûå êîíòðîëèðóåìûå áëîêè, è èñêëþ÷åíèå ïåðåäaåòñя ía áîëåå âûñîêèé óðîâåíü ñ ïîìîùüþ êëþ÷åâî- ãî ñëîâa thrOw áåç ïaðaìåòðîâ.
Îáðaáîò÷ènè èñnëþ÷åíèñ ía÷èíaþòñя ñ êëþ÷åâîãî ñëîâa CatCh, ça êîòîðûì â ñêîáêaõ ñëåäóåò òèï îáðaáaòûâaåìîãî èñêëþ÷åíèя. Îíè äîëæíû ðañïîëaãaòüñя íåïîñðåäñòâåííî ça try-áëîêîì. Ìîæíî çaïèñaòü îäèí èëè íåñêîëüêî îáðaáîò÷è- êîâ â ñîîòâåòñòâèè ñ òèïaìè îáðaáaòûâaåìûõ èñêëþ÷åíèé. Cèíòaêñèñ îáðaáîò-
÷èêîâ íaïîìèíaåò îïðåäåëåíèå ôóíêöèè ñ îäíèì ïaðaìåòðîì — òèïîì èñêëþ÷å- íèя. Cóùåñòâóåò òðè ôîðìû çaïèñè:
catch(òèï èìя){ /* òåëî îáðaáîò÷èêa */ } catch(òèï){ /* òåëî îáðaáîò÷èêa */ } catch(…){ /* òåëî îáðaáîò÷èêa */ }
Ïåðâaя ôîðìa ïðèìåíяåòñя, êîãäa èìя ïaðaìåòða èñïîëüçóåòñя â òåëå îáðaáîò÷è- êa äëя âûïîëíåíèя êaêèõ-ëèáî äåéñòâèé — íaïðèìåð, âûâîäa èíôîðìaöèè îá èñ- êëþ÷åíèè. Âòîðaя ôîðìa íå ïðåäïîëaãaåò èñïîëüçîâaíèя èíôîðìaöèè îá èñêëþ-
÷åíèè, èãðaåò ðîëü òîëüêî åãî òèï. Ìíîãîòî÷èå âìåñòî ïaðaìåòða îáîçía÷aåò, ÷òî îáðaáîò÷èê ïåðåõâaòûâaåò âñå èñêëþ÷åíèя. Òaê êaê îáðaáîò÷èêè ïðîñìaòðèâa- þòñя â òîì ïîðяäêå, â êîòîðîì îíè çaïèñaíû, îáðaáîò÷èê òðåòüåãî òèïa ñëåäóåò ïîìåùaòü ïîñëå âñåõ îñòaëüíûõ. Ïðèìåð:
CatCh(int i){
… // Îáðaáîòêa èñêëþ÷åíèé òèïa int
}
CatCh(COnst Char *){
… // Îáðaáîòêa èñêëþ÷åíèé òèïa COnst Char*
}
CatCh(OverflOw){
… // Îáðaáîòêa èñêëþ÷åíèé êëañña OverflOw
}
CatCh(¼){
… // Îáðaáîòêa âñåõ íåîáñëózåííûõ èñêëþ÷åíèé
}
Ïîñëå îáðaáîònè èñnëþ÷åíèя óïðaâëåíèå ïåðåäaåòñя ïåðâîìó îïåðaòîðó, íaõîäя- ùåìóñя íåïîñðåäñòâåííî ça îáðaáîò÷èêaìè èñêëþ÷åíèé. Òóäa æå, ìèíóя êîä âñåõ îáðaáîò÷èêîâ, ïåðåäaåòñя óïðaâëåíèå, åñëè èñêëþ÷åíèå â try-áëîêå íå áûëî ñãåíåðèðîâaíî.



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   129   130   131   132   133   134   135   136   ...   232




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish