Ir al contenido

MÓDULO 10: Manejo Básico de Errores en Python

🎯 ¿Por qué es Importante el Manejo de Errores?

Cuando programas, los errores son inevitables: archivos que no existen, divisiones por cero, datos faltantes, entre otros.

El manejo de errores permite que tu programa:

  • No se detenga inesperadamente.
  • Responda de forma controlada ante fallos.
  • Proporcione mensajes claros al usuario o al sistema.
  • Evite consecuencias en procesos automáticos, especialmente en integraciones con sistemas como Epicor u Odoo.


🔹 ¿Qué es una Excepción?

Una excepción es un error detectado durante la ejecución del programa. Si no es manejada, detendrá el script.

Ejemplo clásico:

python

CopiarEditar

print(10 / 0) # ❌ ZeroDivisionError


🔧 Uso de try-except

La forma básica de manejar errores en Python es con el bloque:

python

CopiarEditar

try: # Código que puede generar un error except: # Código que se ejecuta si ocurre un error

📌 Ejemplo básico:

python

CopiarEditar

try: resultado = 10 / 0 except: print("Ocurrió un error al dividir.")

Salida:

Ocurrió un error al dividir.


1️⃣ Capturar Errores Específicos

Es recomendable capturar excepciones específicas para tener mayor control:

python

CopiarEditar

try: resultado = 10 / 0 except ZeroDivisionError: print("Error: No puedes dividir entre cero.")


2️⃣ Uso de else y finally

  • else: Se ejecuta si no ocurre ningún error.
  • finally: Se ejecuta siempre, ocurra o no un error (ideal para cerrar conexiones, archivos, etc.).

python

CopiarEditar

try: print("Proceso sin errores") except: print("Error detectado") else: print("Todo salió bien") finally: print("Fin del proceso")


🏢 Ejemplo Práctico en Raloy: Leer un Archivo de Reporte

Supón que automatizas la lectura de un archivo de inventario:

python

CopiarEditar

try: with open('inventario.csv') as archivo: datos = archivo.read() print(datos) except FileNotFoundError: print("⚠️ Error: El archivo de inventario no fue encontrado.")

Esto evita que el programa falle si el archivo no está disponible.


🚨 Errores Comunes

  • Capturar todas las excepciones sin control:

python

CopiarEditar

try: # Código except: print("Error") # ❌ Poco informativo

  • Olvidar cerrar conexiones o archivos sin usar finally.
  • No anticipar errores previsibles, como ingreso de datos incorrectos por usuarios.


💡 Buenas Prácticas

  • Siempre captura errores específicos.
  • Usa mensajes claros y útiles.
  • Evita "silenciar" errores que necesitan atención.
  • Usa finally para limpiar recursos (cerrar archivos, conexiones, etc.).


🔹 Lista de Excepciones Comunes

ExcepciónDescripción
ZeroDivisionErrorDivisión por cero
FileNotFoundErrorArchivo no encontrado
ValueErrorTipo de dato incorrecto
KeyErrorClave inexistente en un diccionario
IndexErrorÍndice fuera de rango en listas
TypeErrorOperación inválida entre tipos


🏢 Caso Práctico en Raloy: Validación de Datos de Pedido

Automatizar validación de montos antes de procesar un pedido:

python

CopiarEditar

def procesar_pedido(monto): try: if monto <= 0: raise ValueError("El monto debe ser mayor a cero.") print(f"Procesando pedido por ${monto}") except ValueError as e: print(f"⚠️ Error en pedido: {e}") procesar_pedido(-500)

Salida:

⚠️ Error en pedido: El monto debe ser mayor a cero.

Calificación
0 0

No hay comentarios por ahora.