7-bob favqulotda holatni qayta ishlash



Download 50,84 Kb.
bet1/5
Sana18.07.2022
Hajmi50,84 Kb.
#818930
  1   2   3   4   5
Bog'liq
7-Favqulotda holatni qayta ishlash


7-BOB
Favqulotda holatni qayta ishlash

Favqulotda holat yoki istisno – bu apparaturadan noto’g’ri foydalanish bilan yuz beradigan ko’zda tutilmagan yoki mushkul xodisa. Masalan, bu nolga bo’lish yoki xotiraning mavjud bo’lmagan manziliga murojaat etish. Odatda bu hodisalar xato haqidagi sistemali xabar bilan dasturning yakunlanishiga olib keladi. C++ dasturchiga dasturni tiklash va uni bajarishni davom ettirish imkoniyatini beradi.


C++ favqulotda holatlari jixoz xatosi yoki uzilishlarni qayta ishlash, masalan, Ctrl+C tugmasini bosish kabi asinxron xodisalarni qayta ishlashni qo’llamaydi. Favqulotda hollar faqat mexanizm dasturini o’zi ishlashi uchun mo’ljallangan va oshkora tarzda ko’rsatiladi. Favqulotda holatlar dasturning biror qismi hamma vaqt ham ishidan (smogla) talab qiladigan narsani bajara olmaydigan vaqtda paydo bo’ladi. Bunda dasturning qolgan qismi qandaydir boshqa narsa qilishga harakat qiladi.
Favqulotda holarlar hisoblash jarayoni mantiqan ikkita qismga ajratishga imkon beradigan favqulotda holatni toppish va uni qayta ishlash. Bu nafaqat dasturning yaxshi strukturalashtirishda muhim. Asosiy sabab xatoni topgan funksiya uni to’g’rilash uchun nima qilish kerakligini bilmasligi mumkin, bu funksiyadan foydalanuvchi kod esa nima qilish kerakligini bilishi, lekin xato paydo bo’lgan joyni aniqlay olmasligi mumkin. Bu ayniqsa ko’p modullardan iborat kutubxona funksiyalari va dasturlaridan foydalanishda juda dolzarb hisoblanadi.
Favqulotda holatlarning boshqa afzalligi chaqiruvchi funksiyaga xato haqida axborotni uzatish uchun qaytariluvchi qiymat parametrlar va global o’zgaruvchilarni qo’llash talab etilmaydi, shuning uchun funksiyalar interfeysi kengaymaydi. Bu masala konstruktorlar uchun muhim, ular sintaksis bo’yicha qiymatni qaytara olmaydi.


Favqulotda holatlarni qayta ishlash mexanizmi

Xato yuz berishi mumkin bo’lgan jihat nazorat qilinuvchi blokka – oldida try kalit so’zi yozilgan murojaat operatorga kirish lozim.


Favqulotda holatlarni qayta ishlash qanday amalga oshirilishini qaraymiz:

  • Favqulotda holatni qayta ishlash xato paydo bo’lishi bilan boshlanadi. U paydo bo’lgan funksiya favqulotda holatni paydo qiladi. Buning uchun favqulotda holar turini aniqlovchi parametrli throw kalit so’zidan foydalaniladi. Parametr konstanta o’zgaruvchi yoki obyekt bo’lishi mumkin va favqulotda holat haqidagi ma’lumotni uni qayta ishlovchiga uzatish uchun foydalaniladi.

  • Tegishli favqulotda holat qayta ishlovchisi izlanadi va unga boshqaruv beriladi.

  • Agar favqulotda holat qayta ishlovchisi topilmasa, joriy jarayon favqulotda tugatuvchi abort funksiya chaqiruvchi terminate standart funksiya chaqiriladi. Jarayonni tugatishning xos funksiyasini o’rnatish ham mumkin.

Kitobning birinchi qismida har bir funksiya chaqirganda stekda local o’zgaruvchilarni va chaqiriluvchi funksiyaga qaytarilish manzilini saqlash uchun xotira sohasi yaratiladi. Chaqirishlar steki atamasi chaqirilgan, lekin hali tugatilmagan funksiyalar ketma-ketligini bildiradi. Stekni yoyish deb xotirani local o’zgaruvchilar va chaqiriluvchi funksiya boshqaruvini qaytarish uchun ozod qilish jarayoniga aytiladi. Funksiya tugatilganda, stekning tabiiy yoyilishi yuz beradi. O’sha mexanizm favqulotda holatlarni qayta ishlashda qo’llaniladi. Shuning uchun favqulotda holat qayta qilingandan so’ng favqulotda holat bu holning paydo bo’lish nuqtasidan davom ettirilishi mumkin bo’lmaydi.



Download 50,84 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5




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