finally bloki ichida ko’rsatilgan amal xatolik bo’lishi yoki bo’lmasligidan qat’iy nazar bajariladi.
try: print(x) except: print("x mavjud emas") else: print("Hech qanday xatolik yo'q") finally: print("Tekshiruv tugadi")
x mavjud emas Tekshiruv tugadi
Istisno holatini hosil qilish
Dasturchi sifatida o’zimiz ham istisno holatini tuzishimiz mumkin. Buning uchun raise kalit so’zini ishlatamiz. Masalan, biror son agar noldan kichik bo’lsa dasturimiz xatolik haqida xabar berishi kerak bo’lsa:
x = -1 if x < 0:
raise Exception("Manfiy son aniqlandi")
raise kalit so’zi bilan qanday turdagi istisno holati bo’lishini ham o’zimiz belgilashimiz mumkin. Hozir TypeError istisnoli holatini tuzamiz. Bunda agar kiritilgan qiymati butun sonli o’zgaruvchi bo’lmasa xatolik haqida xabar berilsin:
x = "abc" if type(x) is not int: raise TypeError("Qiymat butun son bo'lishi kerak")
User input
Biz dasturimizda foydalanuvchidan biror ma’lumot kiritishni so’rashimiz mumkin. User input ana shunday xizmat bo’lib, u input() funksiyasi yordamida ishlaydi. Python 2.7 versiyasida bu funksiya raw_input() bo’lgan.
ism = input("Ismingizni kiriting: ")
Foydalanuvchi nafaqat so’z balki son kiritishi ham mumkin va shu son ustida amal bajarishga ega bo’lamiz. Bunda endi kiritilayotgan ma’lumotni son deb qabul qilishimiz buyurishimiz kerak.
Hozir kiritilgan sonning kvadratini chiqaruvchi dastur tuzamiz.