Istisnolar (Exceptions)
Ba'zan dastur ishlashi davomida istisno holatlar yuzaga kelishi mumkin. Misol uchun, mavjud bo'lmagan faylni o'qishga bo'lgan harakat yoki dasturdagi no'malum buyruqlar. Bunday holatlar exception'lar yordamida hal qilinadi.
Xatoliklar
Agar biz print funksiyasini Print shaklida chaqiradigan bo'lsak, python interpretatori bizga sintaksis xatolikni ko'rsatadi.
>>> Print("Salom dunyo")
Traceback (most recent call last):
File "", line 1, in
NameError: name 'Print' is not defined
>>> print("Salom dunyo")
Salom dunyo
E'tibor bergan bo'lsangiz, NameError xatoligi chiqarildi hamda qayerda shu xatolik qayd qilingani ham ko'rsatildi. Bu holda xatoliklarni qayta ishlovchisi harakatga tushadi.
Exception'lar
Foydalanuvchidan nimadir kiritishini so'raymiz, so'ngra Ctrl + d tugmalarini bosamiz va nima bo'lishini kuzatamiz.
>>> s = input("Nimadir kiriting –> ")
Nimadir kiriting –> Traceback (most recent call last):
File "", line 1, in
EOFError
Python EOFError nomli xatolikni chiqardi. Bu xatolik kutilmagan joyda (Ctrl + dtugmalari yordamida kiritiladigan) fayl oxiri (end of file) belgisi qayd qilinganini bildiradi.
Exception – istisnolarni qayta ishlash
Exception'larni try . . except operatori yordamida qayta ishlash mumkin. Bunda hamma odatiy buyruqlar try blokiga joylashtiriladi, istisnolarni qayta ishlovchilari esa except blokiga joylashtiriladi.
Misol: (try_except.py nomi bilan saqlang.)
try:
text = input('Nimadir kiriting --> ')
except EOFError:
print('Nega EOF qildigiz?')
except KeyboardInterrupt:
print('Siz amallarni bekor qildingiz.')
else:
print('Siz {0} kiritdingiz.'.format(text))
Natija:
$ python try_except.py
Nimadir kiriting → # Ctrl + d ni bosing
Nega EOF qildingiz?
$ python try_except.py
Nimadir kiriting → # Ctrl + c ni bosing
Siz amallarni bekor qildingiz.
$ python try_except.py
Nimadir kiriting → xatosiz
Siz xatosiz kiritdingiz.
Do'stlaringiz bilan baham: |