Bloque else en la captura de excepciones en Python
A la construcción try-except también se le puede
añadir un bloque else. Un matiz importante
es que el código ubicado en el bloque
else se ejecutará si antes, en
try-except, no se capturó ninguna
excepción.
Supongamos que tenemos una lista:
lst = [1, 2, 3]
En la construcción try-except escribamos
la captura de una excepción para un elemento
inexistente de la lista:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
Ahora especifiquemos en el bloque else
la impresión de la suma de todos los elementos de la lista:
try:
print(lst[4])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Si el código en el bloque try accede a un
elemento que no existe, entonces en la consola
aparecerá un mensaje de error:
'error: elem is not exist'
Ahora establezcamos en el bloque try la impresión
de un elemento que definitivamente está en la lista:
try:
print(lst[0])
except IndexError:
print('error: elem is not exist')
else:
print(sum(lst))
Después de ejecutar el código, en la consola aparecerán
dos números: el elemento especificado en try
y la suma de todos los elementos de la lista:
1
6
Se da una lista:
lst = [1, 2, 3]
Escriba código para capturar una excepción relacionada con la división por cero. En caso de que dicha excepción no aparezca, que se imprima la longitud de la lista.