Detección de excepciones
Antes de empezar a escribir tus propias excepciones personalizadas, asegúrate de que conoces los fundamentos del manejo de excepciones.
En este ejercicio, se te da una función invert_at_index(x, ind) que toma dos argumentos, una lista x y un índice ind, e invierte el elemento de la lista en ese índice. Por ejemplo invert_at_index([5,6,7], 0) devuelve 1/5, o 0.2.
Tu objetivo es implementar la gestión de errores para lanzar excepciones personalizadas en función del tipo de error que se produzca.
Este ejercicio forma parte del curso
Introducción a la Programación Orientada a Objetos en Python
Instrucciones del ejercicio
Utiliza un patrón try - except - except (con dos bloques except ) dentro de la función para atrapar y manejar dos excepciones de la siguiente manera:
tryejecutando el código tal cual, devolviendo1/x[ind].- si aparece
ZeroDivisionError, imprime"Cannot divide by zero!", - si se produce
IndexError, imprime"Index out of range!"
Sabes que lo has hecho bien si el código se ejecuta sin errores, y la salida en la consola es:
0.16666666666666666
Cannot divide by zero!
None
Index out of range!
None
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Modify the function to catch exceptions
def invert_at_index(x, ind):
____:
return 1/x[ind]
_____:
print("____")
____:
print("____")
a_list = [5,6,0,7]
# Works okay
print(invert_at_index(a_list, 1))
# Potential ZeroDivisionError
print(invert_at_index(a_list, 2))
# Potential IndexError
print(invert_at_index(a_list, 5))