Kitob uchta qismdan iborat. "Strukturali dasturlash", "Obyektli-yo’nalishli dasturlash", "Standart kutubxonalar"


Funksiyaning favqulotda holatlari ro’yxati



Download 333,2 Kb.
bet81/90
Sana10.07.2022
Hajmi333,2 Kb.
#770437
1   ...   77   78   79   80   81   82   83   84   ...   90
Bog'liq
C majmua

Funksiyaning favqulotda holatlari ro’yxati

Funksiya sarlavhasida u to’g’ridan to’g’ri yoki bevosita hosil qiladigan favqulotda holatlar ro’yxatini berish mumkin. Sarlavha funksiya interfeysi bo’lgani uchun unda favqulotda holatlar ro’yxati ko’rsatilishi funksiya foydalanuvchilariga unumli foydalanish uchun zarur ma’lumotni, hamda ko’zda tutilmagan favqulotda holat paydo bo’lganda bu holatni topishi kafolatini beradi.


Favqulotda holat qayta ishlash algoritmi 7.1-rasmda keltirilgan.

7.1-rasm. Favqulotda holatni qayta ishlash algoritmi


Favqulotda holatlar tiplari funksiya parametrlari ro’yxatidan keyin joylashgan throw kalit so’zidan so’ng vergul orqali qavslarda sanab o’tiladi, masalan:


void f l() throw (int, const char*){ /* Funksiya tanasi */ }
void f2() throw (Oops*){ /* Funksiya tanasi */ }
f1 funksiya faqat int va const char* tiplardagi favqulotda holatlarni hosil qilishi lozim.
f2 funksiya Oops sinf yoki undan hosila sinflar ko’rsatgichi tipidagi favqulotda holatlarni hosil qilishi lozim.
Agar throw kalit so’z ko’rsatilmagan bo’lsa, funksiya ixtiyoriy favqulotda holatni hosil qilishi mumkin. Bo’sh ro’yxat funksiya favqulotda holatlarni hosil qilmasligi lozimligini bildiradi:
void f() throw (){
// Favqulotda holatlarni hosil qilmaydigan funksiya tanasi
}
Favqulotda holatlar funksiya prototipiga kirmaydi. Hosilaviy sinfda virtual funksiyani qayta aniqlashda bazaviy sinfning mos funksiyasiga o’xshash yoki undan ko’proq chegaralangan favqulotda holatlar ro’yxati berish mumkin.
Favqulotda holatlar ro’yxatini ko’rsatish hech narsaga majbur qilmaydi – funksiya to’g’ridan-to’g’ri yoki bevosita u foydalanishga va’da bermagan favulotda holatni hosil qilishi mumkin. Bu holat dasturni bajarish vaqtida paydo bo’lishi mumkin va jimlik bo’yicha terminate funksiyasini chaqiradigan unexpected standart funksiyani chaqirishga olib keladi. set_unexpected funksiyasi yordamida terminate o’rniga chaqiriladigan va ko’zda tutilmagan favqulotda holat paydo bo’lganda dasturning ishlashini aniqlaydigan xos funksiyani o’rnatish mumkin.
Jimlik bo’yicha terminate funksiyasi dastur bajarilishi tugallaydigan abort funksiyani chaqiradi. set_terminate funksiya yordamida abort o’rniga chaqiriladigan va dasturni tugatish usulini aniqlaydigan xos funksiyani o’rnatish mumkin. set_unexpected va set_terminate funksiyalar sarlavha faylda tavsiflangan.



Download 333,2 Kb.

Do'stlaringiz bilan baham:
1   ...   77   78   79   80   81   82   83   84   ...   90




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