Blok else pri prestrezanju izjem v Pythonu
V konstrukcijo try-except je mogoče
dodati tudi blok else. Pomemben podrobnost
je, da se bo koda, nameščena v bloku
else, izvedla, če do njega v
try-except ni bilo ujete nobene
izjeme.
Recimo, da imamo seznam:
lst = [1, 2, 3]
V konstrukciji try-except napišimo
prestrezanje izjeme za neobstoječi
element seznama:
try:
print(lst[4])
except IndexError:
print('error: elem does not exist')
Zdaj pa v bloku else določimo
izpis vsote vseh elementov seznama:
try:
print(lst[4])
except IndexError:
print('error: elem does not exist')
else:
print(sum(lst))
Če koda v bloku try dostopa do
manjkajočega elementa, se bo v konzoli
prikazalo sporočilo o napaki:
'error: elem does not exist'
Zdaj pa v bloku try določimo izpis
elementa, ki zagotovo je v seznamu:
try:
print(lst[0])
except IndexError:
print('error: elem does not exist')
else:
print(sum(lst))
Po izvedbi kode se bosta v konzoli pojavili
dve številki: element, določen v try
in vsota vseh elementov seznama:
1
6
Dan je seznam:
lst = [1, 2, 3]
Napišite kodo za prestrezanje izjeme, povezane z deljenjem z nič. V primeru, da se ta izjava ne pojavi, naj se izpiše dolžina seznama.