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


G’ayri oddiy holatni qayta ishlovchini ta'riflash



Yüklə 0,69 Mb.
səhifə118/121
tarix02.01.2022
ölçüsü0,69 Mb.
#37187
1   ...   113   114   115   116   117   118   119   120   121
aaaaKitob majmuasiiii

G’ayri oddiy holatni qayta ishlovchini ta'riflash
Dastur g’ayri oddiy holatni generatsiya qilganda kompilyator g’ayri oddiy holatni qayta ishlovchi funktsiyani chaqiradi. Misol uchun qo’yidagi nuke_meltdown gayri oddiy hodisa sinfi bu holatni qayta ishlovchi nuke_meltdown funktsiyasini anilqaydi:

class nuke_meltdown

{

public:


nuke_meltdown(void){ cerr << "\a\a\aRabotayu! Rabotayu! Rabotayu!" << endl; }

};

Bu misoldjva dasturda nuke_meltdown g’ayri oddiy hodisasi generatsiya bo’lganda, C++ nuke_meltdown funktsiyasi operatorlarini ishga tushiradi, shundan so’ng g’ayri oddiy holatni aniqlashgga ruhsat beruvchi try operatoridan so’ng kelgan operatorga boshqarishni uzatadi. Qo’yidagi MELTDOWN.CPP dasturi nuke_meltdown funktsiyasini bajarilishini ko’rsatadi. Bu dasturda try operatoridan g’ayri oddiy holatni aniqlashda ruhsat berish uchun foydalaniladi. Shundan so’ng dastur add_u232 funktsiyani amount parametri bilan chaqiradi. Agar bu parametr qiymati 255 dan kam bo’lsa, funktsiya muvaffaqiyatli bajarilmoqda. Agar parametr qiymati 255 dan oshiq bo’lsa funktsiya nuke_meltdown g’ayri oddiy holatini generatsiya qiladi:



#include

class nuke_meltdown

{

public:


nuke_meltdown(void){ cerr << "\a\a\aRabotayu! Rabotayu! Rabotayu!" << endl; }

};

void add_u232(int amount)



{

if (amount < 255) cout << "Parametr add_u232 v poryadke" << endl;

else throw nuke_meltdown();

}

void main(void)



{

try


{

add_u232(255);

}

catch (nuke_meltdown)



{

cerr << "Programma ustoychiva" << endl;

}

}

Bu dastur bajarilganda qo’yidagi ma'lumot ekranga chiqariladi:



S:\> MELTDOWN

Rabotayu! Rabotayu! Rabotayu!

Programma ustoychiva


Yüklə 0,69 Mb.

Dostları ilə paylaş:
1   ...   113   114   115   116   117   118   119   120   121




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin