Pythonda turli xil istisnolarni ushlash
Xuddi shu kodda turli xil istisno turlarini ushlab qolish talab qilinishi mumkin.
Faraz qilaylik, nolga bo'lishda istisnoni ushlab qolishimiz kerak. Bunday xato sodir bo'lganda quyidagi istisno chiqadi:
ZeroDivisionError: division by zero
Uni ushlab qolish uchun, istisno nomini
except blokida ko'rsatish kerak:
try:
print(1 / 0)
except ZeroDivisionError:
print('xato: nolga bo\'lmang')
Shuningdek, faraz qilaylik bizda ro'yxat mavjud:
lst = [1, 2, 3]
Agar try blokida boshqa potentsial xatoli
kodni, masalan, mavjud bo'lmagan elementni chiqarishni
belgilasak, unda except blokida ushlanmagan
istisno keyingi qismga o'tadi va konsolda chiqadi.
Buning natijasida kodning ishlashi to'xtaydi:
lst = [1, 2, 3]
try:
print(lst[4]) # IndexError: list index out of range ni chiqaradi
except ZeroDivisionError:
print('xato: nolga bo\'lmang')
Bunday vaziyatni hal qilish uchun, har bir blokda mos keladigan istisno turining nomini ko'rsatish kerak. Keling, kodimizga mavjud bo'lmagan element uchun istisno qo'shamiz:
try:
print(lst[4])
except ZeroDivisionError:
print('xato: nolga bo\'lmang')
except IndexError:
print('xato: element mavjud emas')
Quyidagi kod berilgan:
txt = '2'
res1 = txt + 3
res2 = txt1
res1 va res2 o'zgaruvchilarida ifodalangan
istisnolarni ushlab qolish uchun kod yozing.