Pythonda Istisnoiy Vaziyatlar Kirish
Ushbu bo'limda Pythondagi istisnoiy vaziyatlar ko'rib chiqiladi. Boshlanish uchun ular nimaligini tushunish kerak.
Har qanday dasturni yozishda, dasturchi norasmiy ravishda barcha qo'llaniladigan dasturiy-texnik mexanizmlar to'g'ri ishlashiga ishonadi.
Biroq, bu har doim ham shunday emas. Tarmoq orqali ma'lumot uzatilayotganda ulanish uzilishi yuz beradi va ma'lumotlar bizga noto'g'ri shaklda keladi, yoki umuman kelmaydi. Faylni yozishda qattiq diskda ajratilgan joy tugagani ma'lum bo'ladi va fayl yozilmaydi. Faylni o'qishda shunday fayl mavjud emasligi ma'lum bo'ladi va o'qish uchun joy yo'q. Printerga ma'lumot chop etilayotganda printer va kompyuterni bog'lovchi sim uziladi.
Tasvirlangan barcha vaziyatlar umumiy mohiyatga ega: ma'lum bir nosozlik yuz beradi, bu rejalashtirilgan operatsiyani tugatishning imkonsizligiga yoki ma'nosizligiga olib keladi.
Shuningdek, nosozlik bo'lmagan boshqa xatolar yuz beradigan vaziyatlar ham bo'ladi. Masalan, siz foydalanuvchidan uning email manzilini so'raysiz, va u noto'g'ri formatda email kiritadi. Tushunarli, bizning dasturimiz emailni qayta ishlashni davom ettira olmaydi, chunki u to'g'ri emas. Biroq, bu - istisnoiy vaziyat emas. Bizning dasturimiz vaziyatni o'zi tuzatishi mumkin: u xato haqida xabar beradi va foydalanuvchining kiritishini takrorlaydi.
Aslida nosozlik va nosozlik emas o'rtasidagi farq aniq emas. Bir dastur istisnoiy vaziyat deb talqin qiladigan voqea, boshqa dastur o'zi engishiga qodir bo'lgan ma'lum bir xato deb talqin qilishi mumkin.
Bu erdagi mezon quyidagicha: agar muammo paydo bo'lganda sizning dasturingiz o'zi mo'ljallangan ishni bajarishni davom ettirsa, bu istisnoiy vaziyat emas, lekin agar davom ettira olmasa - ha, bu istisnodir.
Masalan, bizda foydalanuvchining email manzilini so'raydigan dastur mavjud. Agar foydalanuvchi emailni noto'g'ri formatda kiritgan bo'lsa - bu nosozlik emas. Bu kutilayotgan muammo va bizning dasturimiz foydalanuvchi to'g'ri kiritmaguncha, uni qancha marta so'rasa ham so'raydi.
Aytaylik, email so'raydigan dasturimiz shuningdek ushbu to'g'ri email manzilini internet orqali yuborishi kerak. Ayni paytda internet ishlamayotgani ma'lum bo'ladi. Bu endi muammo: agar internet ishlamasa, dastur ma'lumotlarni internet orqali yubora olmaydi. Shunga qaramay, dastur o'z ishini davom ettirishi mumkin: u muammo haqida ma'lumot chiqarishi, yuborish urinishini ma'lum bir vaqtdan keyin takrorlashi, va hokazo. Ammo bu harakatlar dastur mo'ljallangan asosiy vazifani bajarishga to'g'ri kelmaydi, chunki asosiy harakat - email yuborishni dastur amalga oshira olmaydi.
Shunday qilib, qaysi xatti-harakat normal, qaysi biri esa istisnoiy hisoblanishi dasturchi oldida turgan vazifalarga bog'liq.