Blokk else erandite püüdmisel Pythonis
Konstruktsiooni try-except saab ka
lisada bloki else. Oluline nüanss
on selles, et kood, mis asub blokis
else, käivitatakse juhul, kui enne seda
try-except'is ei püütud ühtki
erandit.
Olgu meil järgmine loend:
lst = [1, 2, 3]
Konstruktsioonis try-except kirjutame
olematu loendi elemendi jaoks erandi püüdmise:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
Nüüd määrame blokis else
kõigi loendi elementide summa väljatrüki:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Kui kood blokis try pöördub
olematu elemendi poole, siis konsoolis
ilmub veateade:
'error: elem is not exist'
Nüüd määrame blokis try elemendi
väljatrüki, mis kindlasti on loendis:
try:
print(lst[0])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Pärast koodi käivitamist kuvatakse konsoolis
kaks numbrit: element, mis määrati try's
ja kõigi loendi elementide summa:
1
6
Antud on loend:
lst = [1, 2, 3]
Kirjutage kood, et püüda nulliga jagamise erand. Juhul, kui seda erandit ei teki, kuvatakse loendi pikkus.