ComenzarEmpieza gratis

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

Ver curso

Instrucciones de 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:

  • try ejecutando el código tal cual, devolviendo 1/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

Pruebe este ejercicio completando este 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))
Editar y ejecutar código