98
12 bob. ISTISNOLAR
12.1. Istisno xolatlar
C++ tili OYD doirasida istisnolarga xizmat ko‘rsatish standartini belgilab
beradi. Istisno xolatlar (exception) dasturda xatoni – kutilmagan xodisani ifodalaydi.
Dastur o‘zining ishlab chiqilishida ko‘zda tutilmagan normal bo‘lmagan vaziyatga
duch kelganda, boshqaruvni ushbu muammoni xal qilishga qodir bo‘lgan dasturning
boshqa qismiga berish mumkin xamda yo dasturni bajarishni davom ettirish yoki
ishni tugallash kerak. Istisnolarni joydan joyga tashlab berish (
yexcpletion throwing)
dasturning normal bajarilishiga to‘sqinlik qiladigan sabablarning tashxisi uchun
foydali bo‘lishi mumkin bo‘lgan axborotni tashlab berish nuqtasida to‘plash imkonini
beradi. Siz dastur tugallanishi oldidan zarur xatti-harakatlarni bajaradigan istisnolarga
ishlov bergich (
exception handler) ni aniqlashingiz mumkin. Dastur ichida yuzaga
keladigan sinxron istisnolar deb nomlanuvchi istisnolarga xizmat ko‘rsatiladi. Ctrl+C
klavishalarini bosish kabi tashqi xolatlar istisno xisoblanmaydi.
Dasturda har bir istisno xolat sinf sifatida aniqlanadi. Masalan, quyida
ko‘rsatilan xolat fayllar bilan ishlash uchun uchta istisno xolatni aniqlaydi:
class file_open_error {};
class file_read_error {};
class file_write_error {};
Istisno xolatlar o‘zgaruvchilarni va sinf funksiya – elementlarini ishlatish
mumkin. Har bir istisno xolat sinfga mos.
Dostları ilə paylaş: