1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot


Kutilmagan g’ayri oddiy holatlarni qayta ishlash



Download 4,47 Mb.
bet89/89
Sana15.04.2022
Hajmi4,47 Mb.
#553102
1   ...   81   82   83   84   85   86   87   88   89
Bog'liq
C kitob TAYYOR

Kutilmagan g’ayri oddiy holatlarni qayta ishlash.

C++ bibliotekalari ma'lum g’ayri oddiy holatlarni qayta ishlovchi funktsiyalarni o’z ichiga oladi. Agar dasturda kuzda tutilmagan g’ayri oddiy hodisa yuz bermasa standart g’ayrioddiy hollarni qayta ishlovchi ishlatiladi. Ko’p hollarda bu standart qayta ishlovchi dastur bajarilishini to’htatib qo’yadi. Qo’yidagi UNCAUGHT.CPP dasturda standart qayta ishlovchining dastur bajarilishini tuhtatishi ko’rsatilgan.:


#include
class some_exception { };
void main(void)
{
cout << "Pered generatsiey isklyuchitel'noy situatsii" << endl;
throw some_exception();
cout << "Isklyuchitel'naya situatsiya sgenerirovana" << endl;
}
Bu misolda dastur tomonidan aniqlanmaydigan g’ayri oddiy holat yuz bersa standart qayta ishlovchi chaqiriladi. Shuning uchun ohirgi operator bajarilmaydi. Dasturda mahsus qayta ishlovchidan foydalanish uchun set_unexpected funktsiyasidan foydalanish lozim. Bu funktsiya prototipi except.h sarlavhali faylda aniqlangan.
Funktsiya generatsiya qilgan g’ayri oddiy holatlarni e'lon qilish.

Funktsiya prototipi erdamida shu funktsiya generatsiya qiluvchi g’ayri oddiy holatlarni ko’rsatish mumkin. Agar dastur g’ayri oddiy holatlardan foydalanilsa berilgan funktsiya tomonidan generatsiya qilinuvchi g’ayri oddiy holatlarni ko’rsatish uchun funktsiya prototipidan foydalanish mumkin. Misol uchun qo’yidagi power_plant funktsiyasi prototipi funktsiya melt_down va radiation_leak gayri oddiy holatlarni generatsiya qilishi mumkinligini ko’rsatadi:


void power_plant(long power_needed) throw (melt_down, radiation_leak);
Bu usul boshka dasturchiga funktsiyadan foydalanilganda qaysi g’ayri oddiy holatlarni tekshirish zarurlishini ko’rsatishga qo’laydir.


G’ayri oddiy holatlar va sinflar.
Sinf yaratganda shu sinfga hos g’ayri oddiy holatlarni ko’rsatish mumkindir. Buning uchun g’ayri oddiy holatni sinfning umumiy (public) elementi sifatida qo’shish lozimdir. Misol uchun qo’yidagi string sinfi ta'rifi ikki g’ayri oddiy holatni aniqlaydi:
class string
{
public:
string(char *str);
void fill_string(*str);
void show_string(void);
int string_length(void);
class string_empty { } ;
class string_overflow {};
private:
int length;
char string[255];
};
Bu sinfda ikki g’ayri oddiy holat string_empty va string_overflow aniqlangan. Dasturda bu holatlar mavjudligini qo’yidagicha tekshirish mumkin:
try
{
some_string.fill_string(some_long_string);
};
catch (string::string_overflow)
{
cerr << "Previhshena dlina stroki, simvolih otbroshenih" << endl;
}


Aslonov K. C++ dan qo’llanma

Download 4,47 Mb.

Do'stlaringiz bilan baham:
1   ...   81   82   83   84   85   86   87   88   89




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