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:

errorZeroDivisionError: division by zero

Uni ushlab qolish uchun, istisno nomini except blokida ko'rsatish kerak:

pythontry:
  print(1 / 0)
except ZeroDivisionError:
  print('xato: nolga bo\'lmang')

Shuningdek, faraz qilaylik bizda ro'yxat mavjud:

pythonlst = [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:

pythonlst = [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:

pythontry:
  print(lst[4])
except ZeroDivisionError:
  print('xato: nolga bo\'lmang')
except IndexError:
  print('xato: element mavjud emas')
Задание 1

Quyidagi kod berilgan:

pythontxt = '2'

res1 = txt + 3
res2 = txt1

res1 va res2 o'zgaruvchilarida ifodalangan istisnolarni ushlab qolish uchun kod yozing.