Preprečevanje različnih tipov izjem v Pythonu

V isti kodi bo morda potrebno preprečiti različne tipe izjem.

Recimo, da moramo ujeti izjemo pri deljenju z nič. Pri takšni napaki se pojavi izjema:

errorZeroDivisionError: division by zero

Da jo ujamemo, je treba ime izjeme zapisati v bloku except:

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

Prav tako imamo seznam:

pythonlst = [1, 2, 3]

Če v bloku try napišemo kodo z drugo morebitno napako, na primer z izpisom neobstoječega elementa, bo izjema, ki je ni ujeli v bloku except, šla naprej in se izpisala v konzolo. Zaradi tega se bo delovanje kode ustavilo:

pythonlst = [1, 2, 3]
try:
  print(lst[4]) # izpiše IndexError: list index out of range
except ZeroDivisionError:
  print('error: do not divide by zero')

Za rešitev takšne situacije je treba v vsakem bloku navesti ime ustreznega tipa izjem. Dodajmo naši kodi izjemo za manjkajoči element:

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

Podana je naslednja koda:

pythontxt = '2'

res1 = txt + 3
res2 = txt1

Napišite kodo za preprečitev predstavljenih izjem v spremenljivkah res1 in res2.