Ndërprerja e llojeve të ndryshme të përjashtimeve në Python
Në të njëjtin kod mund të jetë e nevojshme të ndërpresim lloje të ndryshme përjashtimesh.
Le të themi se duhet të kapim një përjashtim kur pjesëtojmë me zero. Me një gabim të këtij lloji dalin përjashtimet:
ZeroDivisionError: division by zero
Për ta kapur atë, emri i përjashtimit duhet
të shkruhet në bllokun except:
try:
print(1 / 0)
except ZeroDivisionError:
print('gabim: mos pjesëto me zero')
Gjithashtu le të themi se kemi një listë:
lst = [1, 2, 3]
Nëse vendosim në bllokun try kod me një
gabim tjetër potencial, për shembull, me nxjerrjen
e një elementi që nuk ekziston, atëherë përjashtimi,
që nuk është kapur në bllokun except, do të kalojë
më tej dhe do të shfaqet në konsol. Për shkak të kësaj
do të ndalet puna e kodit:
lst = [1, 2, 3]
try:
print(lst[4]) # do të shfaqë IndexError: list index out of range
except ZeroDivisionError:
print('gabim: mos pjesëto me zero')
Për të zgjidhur një situatë të tillë, duhet të specifikohet në çdo bllok emri i llojit përkatës të përjashtimeve. Le të shtojmë në kodin tonë përjashtimin për elementin që mungon:
try:
print(lst[4])
except ZeroDivisionError:
print('gabim: mos pjesëto me zero')
except IndexError:
print('gabim: elementi nuk ekziston')
Jepet kodi në vijim:
txt = '2'
res1 = txt + 3
res2 = txt1
Shkruani kodin për të ndërprerë përjashtimet e paraqitura
në variablat res1 dhe res2.