Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Python intermedio para IA, Unidad 5 — Manejo avanzado de errores, 5.1 — Excepciones personalizadas ·

Cuándo lanzar errores

Cuándo lanzar errores en Python para inteligencia artificial

Introducción

En la programación avanzada, especialmente en proyectos de inteligencia artificial (IA), el manejo adecuado de errores es crucial. Los errores permiten identificar problemas en tiempo temprano y aseguran que los sistemas funcionen correctamente bajo una variedad de condiciones. En esta unidad del curso de Python intermedio para IA, exploraremos cuándo y cómo lanzar excepciones personalizadas para mejorar la robustez de nuestro código.

Explicación principal con ejemplos

La decisión sobre cuándo lanzar errores puede variar según el contexto. Aquí te presentamos una guía práctica con un ejemplo:

def dividir(x, y):
    try:
        resultado = x / y
    except ZeroDivisionError:
        print("No se puede dividir por cero.")
        return None  # Devolvemos None para indicar que la operación falló

# Uso del ejemplo
print(dividir(10, 2))  # Salida: 5.0
print(dividir(10, 0))  # Salida: No se puede dividir por cero.

En este ejemplo, lanzamos un ZeroDivisionError cuando intentamos dividir un número entre cero y manejamos esta excepción para evitar que el programa falle abruptamente.

Errores típicos / trampas

  1. Lanzar errores innecesariamente: No es necesario lanzar una excepción si la condición ya se maneja adecuadamente en el código.
   # Trampa: Lanzar un error cuando se puede controlar con otro mecanismo
   def dividir(x, y):
       if y == 0:
           print("No se puede dividir por cero.")
           return None
       resultado = x / y
       return resultado

   # Mejor práctica
   def dividir(x, y):
       if y == 0:
           print("Cuidado: No se puede dividir por cero.")
       else:
           resultado = x / y
           return resultado
  1. Lanzar excepciones inadecuadas: Es importante seleccionar la excepción adecuada basada en el problema real. Por ejemplo, usar ValueError para errores de valor inválido.
  1. Excepciones no manejables: Evitar lanzar excepciones que no se puedan manejar o controlar de manera efectiva.

Checklist accionable

  1. Identifica las condiciones que pueden generar errores: Antes de escribir el código, piensa en todas las situaciones que podrían fallar.
  2. Maneja los errores adecuadamente: Decide si la operación debe continuar o si se debe detener y manejar la condición.
  3. Lanza excepciones personalizadas: Crea excepciones específicas para problemas únicos de tu aplicación.
  4. Documenta las excepciones: Proporciona documentación clara sobre qué tipo de errores pueden lanzarse y cómo deben ser manejados.
  5. Prueba los casos de error: Asegúrate de probar todas las rutas de error en tus pruebas unitarias.

Cierre

Siguientes pasos

  • Aprende a crear excepciones personalizadas: Familiarízate con la creación y uso de raise para lanzar errores propios.
  • Prueba exhaustivamente: Asegúrate de que tu código maneja todos los posibles errores antes de implementarlo en producción.
  • Documenta las excepciones: Proporciona documentación clara sobre cuándo se pueden generar y cómo deben ser manejados.

Siguiendo estos consejos, podrás mejorar significativamente la robustez y mantenibilidad de tus sistemas de inteligencia artificial.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).