Else blokas išimčių gaudymo konstrukcijoje Python
Į try-except konstrukciją taip pat galima
pridėti else bloką. Svarbus niuansas
yra tas, kad kodas, esantis else bloke,
veiks, jei iki tol try-except konstrukcijoje
nebuvo pagauta jokių išimčių.
Tarkime, kad turime sąrašą:
lst = [1, 2, 3]
try-except konstrukcijoje aprašykime
neegzistuojančio sąrašo elemento išimties gaudymą:
try:
print(lst[4])
except IndexError:
print('klaida: elementas neegzistuoja')
Dabar else bloke nurodykime visų sąrašo
elementų sumos išvedimą:
try:
print(lst[4])
except IndexError:
print('klaida: elementas neegzistuoja')
else:
print(sum(lst))
Jei try bloke esantis kodas kreipiasi į
neegzistuojantį elementą, konsolėje
pasirodys klaidos pranešimas:
'klaida: elementas neegzistuoja'
Dabar try bloke nustatykime elemento,
kuris tikrai yra sąraše, išvedimą:
try:
print(lst[0])
except IndexError:
print('klaida: elementas neegzistuoja')
else:
print(sum(lst))
Vykdant kodą, konsolėje pasirodys
du skaičiai: try bloke nurodytas
elementas ir visų sąrašo elementų suma:
1
6
Duotas sąrašas:
lst = [1, 2, 3]
Parašykite kodą, skirtą pagauti išimtį, susijusią su dalyba iš nulio. Jei ši išimtis nepasirodys, turi būti atspausdintas sąrašo ilgis.