Else-blok ved håndtering af undtagelser i Python
I konstruktionen try-except kan man også
tilføje en else-blok. En vigtig nuance
er, at koden placeret i else-blokken
kun udføres, hvis der ikke blev fanget nogen
undtagelse i try-except før den.
Lad os sige, at vi har en liste:
lst = [1, 2, 3]
I try-except-konstruktionen skriver vi
fangst af undtagelsen for et ikke-eksisterende
listeelement:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
Lad os nu i else-blokken angive
udskrivningen af summen af alle listeelementer:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Hvis koden i try-blokken henviser til
et element, der ikke findes, vil der komme en
fejlmeddelelse i konsollen:
'error: elem is not exist'
Lad os nu i try-blokken angive udskrivning
af et element, som helt sikkert er i listen:
try:
print(lst[0])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Efter udførelse af koden vil der være
to tal i konsollen: elementet angivet i try
og summen af alle elementer i listen:
1
6
Givet en liste:
lst = [1, 2, 3]
Skriv kode for at fange undtagelsen relateret til division med nul. Hvis denne undtagelse ikke opstår, skal længden af listen udskrives.