Sobes.tech
Junior

¿Qué es el manejo de excepciones en Python?

sobes.tech AI

Respuesta de la IA

El manejo de excepciones en Python es un mecanismo para capturar y responder a errores o eventos que interrumpen la ejecución normal del programa.

Se utiliza el bloque try...except...finally o try...except...else...finally.

try:
    # Código que puede generar una excepción
    result = 10 / 0
except ZeroDivisionError:
    # Manejo de una excepción específica
    print("Error: División por cero!")
except Exception as e:
    # Manejo de cualquier otra excepción
    print(f"Ocurrió un error: {e}")
else:
    # Se ejecuta si no hubo excepciones en el bloque try
    print("Operación exitosa.")
finally:
    # Se ejecuta siempre, independientemente de las excepciones
    print("Bloque finally ejecutado.")

Componentes principales:

  • try: Bloque de código donde se espera una posible excepción.
  • except: Bloque de código que se ejecuta cuando ocurre un tipo específico de excepción en el bloque try. Se pueden usar múltiples bloques except para diferentes tipos de excepciones.
  • else: (Opcional) Bloque de código que se ejecuta si no ocurrió ninguna excepción en el bloque try.
  • finally: (Opcional) Bloque de código que se ejecuta siempre, independientemente de si ocurrió una excepción o no. Se usa comúnmente para liberar recursos (por ejemplo, cerrar archivos).
  • raise: Palabra clave para lanzar explícitamente una excepción.
def divide(a, b):
    if b == 0:
        raise ValueError("El divisor no puede ser cero")
    return a / b

try:
    divide(10, 0)
except ValueError as e:
    print(f"Manejo de excepción personalizada: {e}")

Ventajas:

  • Incrementa la fiabilidad del programa.
  • Aisla el código que puede causar errores.
  • Permite separar de manera más limpia la lógica normal de ejecución de la lógica de manejo de errores.