Siz xatosiz kiritdingiz.
Bu qanday ishlaydi:
Bu yerda biz istisno/xatolik chaqirishi mumkin bo'lgan barcha buyruqlarni trybloki ichiga joylashtirdik. So'ng except bloki ichiga tegishli istisno/xatolikka mos keluvchi qayta ishlovchilarni joylashtirdik. except ifodasi bitta istisno/xatolikni yoki qavs ichida ko'rsatilgan bir nechta istisno/xatoliklarni qayta ishlashi mumkin. Agar xatolik yoki istisno nomi ko'rsatilmagan bo'lsa, u holda barcha xatolik va istisnolar qayta ishlanadi.
Yodingizda saqlang, try ifodasi uchun hech bo'lmaganda bitta except ifodasi bo'lishi kerak. Aks holda try ishlatishning hech qanday ma'nosi qolmaydi.
Agar xatolik yoki istisno biror except blokida ushlab qolinmasa, u holda pythonning istisnolarni qayta ishlovchisi chaqiriladi va oynaga xatolik haqidagi xabarni chop etadi. Yuqorida bunga misol ko'rdik.
try . . except blokiga else blokini ham qo'shish mumkin. Bu blok hech qanday istisno yuz bermaganda ishga tushadi.
Exception – istino chaqirish
Istisnolarni raise operatori yordamida tegishli xatolik/istisno nomini bergan holda chaqirish mumkin.
Misol: (raising.py nomi bilan saqlang)
class ShortInputException(Exception):
'''Foydalanuvchi klass exceptioni.'''
def_init_(self, length, atleast):
Exception.init(self)
self.length = length
self.atleast = atleast
try:
text = input("Nimadir kiriting --> ")
if len(text) < 3:
raise ShortInputException(len(text), 3:
# Bu yerda kerakli amallar bajarilishi mumkin.
except EOFError:
print("Nega EOF qildingiz?")
except ShortInputException as ex:
print("ShortInputException: Kiritilgan satr uzunligi -- {0}; minimum {1} kutilgan edi".format(ex.length, ex.atleast))
else:
Do'stlaringiz bilan baham: |