სხვადასხვა ტიპის გამონაკლისების დაჭერა Python-ში

ერთსა და იმავე კოდში შეიძლება დაგვჭირდეს სხვადასხვა ტიპის გამონაკლისების დაჭერა.

დავუშვათ, ჩვენ გვჭირდება გამონაკლისის დაჭერა ნულზე გაყოფისას. ამ ტიპის შეცდომაზე გამოდის გამონაკლისი:

errorZeroDivisionError: division by zero

მისი დასაჭერად, გამონაკლისის სახელი უნდა ჩაიწეროს except ბლოკში:

pythontry:
  print(1 / 0)
except ZeroDivisionError:
  print('error: do not divide by zero')

ასევე დავუშვათ, გვაქვს სია:

pythonlst = [1, 2, 3]

თუ try ბლოკში ჩაიწერება კოდი სხვა პოტენციური შეცდომით, მაგალითად, არარსებული ელემენტის გამოტანით, მაშინ გამონაკლისი, რომელიც არ დაიჭირება except ბლოკში, გაივლის შემდგომ და გამოიყვანება კონსოლში. რის გამოც შეჩერდება კოდის მუშაობა:

pythonlst = [1, 2, 3]
try:
  print(lst[4]) # გამოიტანს IndexError: list index out of range
except ZeroDivisionError:
  print('error: do not divide by zero')

ასეთი სიტუაციის გადასაჭრელად, საჭიროა მივუთითოთ თითოეულ ბლოკში გამონაკლისების შესაბამისი ტიპის სახელი. დავამატოთ ჩვენს კოდში გამონაკლისი არმყოფელი ელემენტისთვის:

pythontry:
  print(lst[4])
except ZeroDivisionError:
  print('error: do not divide by zero')
except IndexError:
  print('error: elem is not exist')
Задание 1

მოცემულია შემდეგი კოდი:

pythontxt = '2'

res1 = txt + 3
res2 = txt1

დაწერეთ კოდი, რომელიც დაიჭერს წარმოდგენილ ცვლადებში res1 და res2 გამონაკლისებს.