JavaScriptda istisnoiy vaziyatlar kirish
Hozir biz JavaScriptdagi istisnoiy vaziyatlarni ko'rib chiqamiz. Boshlash uchun men bir oz kirish qilaman, unda har qanday dasturlash tillari uchun umuman istisnoiy vaziyatlar misollari bo'ladi, keyin esa JavaScriptda ish qanday olib borilishini bilib olamiz.
Biz dasturlarimizni yozayotganda, biz ishlatayotgan barcha dasturiy-texnik mexanizmlar to'g'ri ishlashiga shubhasiz ishonamiz.
Biroq, bu har doim ham shunday emas. Tarmoq orqali ma'lumot uzatilayotganda aloqa uzilishi yuz beradi va ma'lumotlar bizga noto'g'ri shaklda keladi yoki umuman kelmaydi. Faylni yozishda ma'lum bo'ladiki, qattiq diskda ajratilgan joy tugab qoldi va fayl yozilmaydi. Faylni o'qishda ma'lum bo'ladiki, bunday fayl mavjud emas va o'qish uchun hech narsa yo'q. Printerga ma'lumot chop etilayotganda printer va kompyuterni bog'lovchi sim uziladi.
Tasvirlangan barcha vaziyatlar umumiy mohiyatga ega: reja qilingan operatsiyani tugatishning imkonsizligi yoki ma'nosizligiga olib keladigan ma'lum bir nosozlik yuz beradi.
Shuningdek, nosozlik bo'lmagan ma'lum bir xatolik yuz beradigan vaziyatlar ham mavjud. Masalan, siz foydalanuvchidan uning emailini so'raysiz, va u emailni noto'g'ri formatda kiritadi. Tushunarli, bizning dasturimiz emailni qayta ishlashni davom ettira olmaydi, chunki u to'g'ri emas. Biroq, shunday bo'lsa ham bu - istisnoiy vaziyat emas. Bizning dasturimiz vaziyatni o'zi tuzatishi mumkin: u xato haqida xabar beradi va foydalanuvchining kiritishini takrorlaydi.
Aslida nosozlik va nosozlik emasligi o'rtasidagi farq juda noaniq. Bir dastur istisnoiy vaziyat deb talqin qilishi mumkin bo'lgan hodisa, boshqa dastur o'zi engishlashi mumkin bo'lgan ma'lum bir xato deb talqin qilishi mumkin.
Bu erdagi mezon quyidagicha: agar muammo paydo bo'lsa sizning dasturingiz o'zi mo'ljallangan ishni bajarishni davom ettira olsa, bu istisnoiy vaziyat emas, lekin agar davom ettira olmasa - ha, bu istisnodir.
Masalan, bizda foydalanuvchining emailini so'rashi kerak bo'lgan dastur mavjud. Agar foydalanuvchi emailni noto'g'ri formatda kiritsa - bu nosozlik emas. Bu kutilayotgan muammo va bizning dasturimiz foydalanuvchi to'g'ri kiritmaguncha emailni so'raydi.
Aytaylik, emailni so'rashi kerak bo'lgan dasturimiz, shuningdek ushbu to'g'ri emailni internet orqali yuborishi kerak. Bunda internet ishlamayotgani ma'lum bo'ladi. Bu endi muammo: agar internet ishlamasa, dastur ma'lumotlarni internet orqali yubora olmaydi. Shunday bo'lsa ham, dastur o'z ishini davom ettirishi mumkin: u muammo haqida ma'lumot berishi mumkin, ma'lum vaqtdan keyin yuborish urinishini takrorlashi mumkin va hokazo. Biroq bu harakatlar dastur mo'ljallangan asosiy ishga to'liq mos kelmaydi, chunki asosiy harakat - email yuborishni dastur bajara olmaydi.
Ko'pincha, bu istisnoiy vaziyat yoki yo'qligi, dasturlash tiliga bog'liq. Ko'pgina tillarda, agar to'satdan nolga bo'linish yuz bersa - bu istisno hisoblanadi (chunki nolga bo'lish mumkin emas), lekin JavaScriptda - hisoblanmaydi (JavaScriptda nolga bo'lish mumkin).