Blok else při zachycování výjimek v Pythonu
Do konstrukce try-except lze také
přidat blok else. Důležitý nuance
spočívá v tom, že kód umístěný v bloku
else se spustí, pokud před ním v
try-except nebyla zachycena žádná
výjimka.
Mějme seznam:
lst = [1, 2, 3]
V konstrukci try-except napíšeme
zachycení výjimky pro neexistující
prvek seznamu:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
Nyní v bloku else specifikujme
výpis součtu všech prvků seznamu:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Pokud kód v bloku try přistupuje k
neexistujícímu prvku, objeví se v konzoli
zpráva o chybě:
'error: elem is not exist'
Nyní v bloku try nastavme výpis
prvku, který se v seznamu určitě nachází:
try:
print(lst[0])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Po provedení kódu se v konzoli objeví
dvě čísla: prvek zadaný v try
a součet všech prvků seznamu:
1
6
Dán seznam:
lst = [1, 2, 3]
Napište kód pro zachycení výjimky související s dělením nulou. V případě, že se tato výjimka neobjeví, ať se vypíše délka seznamu.