Пресекување на различни типови на исклучоци во Python
Во истиот код може да има потреба да се пресретнат различни типови на исклучоци.
Да речеме дека треба да го фатиме исклучокот при делење со нула. При ваква грешка се појавува исклучок:
ZeroDivisionError: division by zero
За да го фатиме, името на исклучокот треба
да се запише во блокот except:
try:
print(1 / 0)
except ZeroDivisionError:
print('error: do not divide by zero')
Исто така, да речеме дека имаме список:
lst = [1, 2, 3]
Ако во блокот try се постави код со друга
потенцијална грешка, на пример, со печатење на
непостоечки елемент, тогаш исклучокот,
кој не е фатен во блокот except, ќе продолжи
понатаму и ќе се испечати во конзолата. Поради што
работата на кодот ќе запре:
lst = [1, 2, 3]
try:
print(lst[4]) # ќе испечати IndexError: list index out of range
except ZeroDivisionError:
print('error: do not divide by zero')
За решавање на ваква ситуација, треба да се наведат во секој блок соодветните имиња на типовите на исклучоци. Ајде да додадеме во нашиот код исклучок за недостасувачки елемент:
try:
print(lst[4])
except ZeroDivisionError:
print('error: do not divide by zero')
except IndexError:
print('error: elem is not exist')
Даден е следниот код:
txt = '2'
res1 = txt + 3
res2 = txt1
Напишете код за да ги пресретнете претставените
во променливите res1 и res2
исклучоци.