Else-blokk ved fanging av unntak i Python
I try-except-konstruksjonen kan man også
legge til en else-blokk. En viktig nyanse
er at koden plassert i else-blokken
vil kjøre hvis det ikke ble fanget noen
unntak i try-except før den.
La oss si at vi har en liste:
lst = [1, 2, 3]
I try-except-konstruksjonen skriver vi
fanging av unntak for et ikke-eksisterende
listeelement:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
La oss nå i else-blokken
skrive ut summen av alle elementene i listen:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Hvis koden i try-blokken prøver å
få tilgang til et element som ikke finnes, vil
feilmeldingen vises i konsollen:
'error: elem is not exist'
La oss nå i try-blokken hente
et element som definitivt finnes i listen:
try:
print(lst[0])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Etter at koden er kjørt, vil det vises
to tall i konsollen: elementet spesifisert i try
og summen av alle elementene i listen:
1
6
Gitt listen:
lst = [1, 2, 3]
Skriv kode for å fange unntaket knyttet til divisjon med null. Hvis dette unntaket ikke oppstår, skal lengden på listen skrives ut.