Agar kodimizda xatolik yuz bersa yoki istisno holatlar bo’lib qolsa Python bizga xatolik haqida xabar beradi. Bunday istisno holatlar bilan ishlash uchun try va except blokidagi amal bajariladi.
Masalan, biz x degan o’zgaruvchini ekranga chiqarmoqchi bo’lamiz. Lekin unday o’zgaruvchining o’zi yo’q bo’lsa xatolik yuz beradi va dastur ishlamaydi. Shuning uchun biz shunday qilamizki, agar x o’zgaruvchi mavjud bo’lmasa, bu haqida xabar berilsin:
try: print(x) except:
except kalit so’zini ishlatganimizda Python istalgan turdagi istisno holat uchun amal qiladi. Ammo biz qaysi turdagi istisno holatini tekshirishni o’zimiz belgilashimiz mumkin. Bunday holatlarning turlari ko’p, biz esa asosiylarini sanab o’tamiz:
ValueError – o’zgaruvchining qiymati unga mos bo’lmagan turda bo’lsa ishga tushadi.
Masalan, biror harfli qiymatni son deb qabul qilmoqchi bo’lsak, shunday bo’ladi.
TypeError - o’zaro nomutanosib qiymatlar bilan amallar bajarilsa ishga tushadi. Masalan harfga son qo’shmoqchi bo’lganimizda.
ZeroDivisionError – Istalgan sonni nolga bo’lish holati bo’lganda ishga tushadi.
Hozir biror sonni nolga bo’lishni tekshiramiz.
Buni shunchaki except bilan ham yoki ZeroDivisionError bilan ta’kidlab ham tekshirish mumkin. Natija bir xil bo’ladi:
try: 5/0 except: print("nolga bo'lish mumkin emas")
try: 7/0 except ZeroDivisionError: print("nolga bo'lish mumkin meas") nolga bo'lish mumkin emas nolga bo'lish mumkin meas
else
else kalit so’zi hech qanday xatolik yuz bermaganda bajariladigan amalni ko’rsatish uchun ishlatiladi: