Día 9: Manejo de excepciones y errores

Día 9: Manejo de excepciones y errores

Bienvenida

¡Bienvenido al Día 9 de tu viaje para dominar Python! 🎉

Hoy es un día importante porque aprenderás a manejar errores y excepciones en tus programas. Esto te permitirá anticipar problemas, como divisiones por cero o entradas inválidas, y asegurarte de que tu programa siga funcionando sin interrupciones. Además, descubrirás cómo lanzar tus propias excepciones para controlar el flujo de tu código.

Tipos de errores

Tipos de erroresDescripción
ZeroDivisionErrorSe produce cuando se intenta dividir un número por cero.
IndexErrorSe produce cuando se intenta acceder a un elemento de una lista fuera de rango.
KeyErrorSe produce cuando se intenta acceder a una clave inexistente en un diccionario.
ValueErrorSe produce cuando se intenta convertir un valor no valido a un tipo de dato.
TypeErrorSe produce cuando se intenta realizar una operación de un tipo incompatible.
NameErrorSe produce cuando se intenta acceder a una variable no declarada.

Capturar excepciones

Para manejar excepciones, usamos bloques try, except, else y finally.

  • Bloque try: Contiene el código que podría generar una excepción.
  • Bloque except: Captura y maneja la excepción.
  • Bloque else: Se ejecuta si no se produce ninguna excepción.
  • Bloque finally: Siempre se ejecuta, independientemente de si hubo una excepción.
try:
    resultado = 10 / 0
except ZeroDivisionError:
    print("Error: No puedes dividir por cero.")
else:
    print(f"El resultado es: {resultado}")
finally:
    print("Este bloque siempre se ejecuta.")

Lanzar excepciones

Para lanzar una excepción personalizada, usamos la palabra clave raise. Por ejemplo:

def dividir(a, b):
    if b == 0:
        raise ZeroDivisionError("No puedes dividir por cero.")
    return a / b

try:
    resultado = dividir(10, 0)
else:
    print(f"El resultado es: {resultado}")
except ZeroDivisionError as e:
    print(f"Error: {e}")

¡Felicidades! Has completado el Día 9. Ahora sabes cómo manejar errores y excepciones en Python, lo que te permitirá escribir programas más robustos y confiables. ¡Nos vemos en el Día 10! 🚀✨