Blocul else la capturarea excepțiilor în Python
În construcția try-except se poate
adăuga și blocul else. Nuanța importantă
constă în faptul că codul plasat în blocul
else se va executa dacă până la el în
try-except nu a fost captată nici o
excepție.
Să presupunem că avem o listă:
lst = [1, 2, 3]
În construcția try-except vom scrie
capturarea excepției pentru un element
inexistent al listei:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
Acum să specificăm în blocul else
afișarea sumei tuturor elementelor listei:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Dacă codul din blocul try accesează un
element inexistent, atunci în consolă
va apărea mesajul de eroare:
'error: elem is not exist'
Acum să setăm în blocul try afișarea
unui element care cu siguranță se află în listă:
try:
print(lst[0])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
După executarea codului în consolă vor apărea
două numere: elementul specificat în try
și suma tuturor elementelor listei:
1
6
Este dată lista:
lst = [1, 2, 3]
Scrieți cod pentru a captura excepția legată de împărțirea la zero. În cazul în care această excepție nu apare, să se afișeze lungimea listei.