domingo, 29 de junio de 2025

🧪 Python Nivel 2 – Parte 11: Pruebas con assert y Manejo Profesional de Errores

 

🎯 ¿Qué aprenderás en esta parte?

✅ Qué es una prueba con assert y cómo usarla
✅ Cómo detectar errores desde el desarrollo
✅ Cómo crear pruebas simples sin librerías externas
✅ Cómo capturar errores personalizados y mantener controlado tu código


🧱 ¿Qué es assert?

assert es una instrucción que permite verificar condiciones durante la ejecución.
Si la condición no se cumple, lanza una excepción (AssertionError) y detiene el programa.


🔍 Ejemplo básico:


def dividir(a, b): assert b != 0, "El divisor no puede ser cero" return a / b print(dividir(10, 2)) # 5.0 print(dividir(10, 0)) # AssertionError

✅ Ventajas de usar assert

✔️ Detecta errores temprano
✔️ Mejora la confiabilidad del código
✔️ Facilita pruebas durante el desarrollo
✔️ Se puede desactivar al ejecutar con python -O


🔐 Personalizar errores con try-except

Además de assert, Python permite manejar errores sin que el programa se detenga abruptamente:


try: resultado = dividir(10, 0) except AssertionError as e: print("Error capturado:", e)

🧑‍💻 Ejemplo práctico: validar emails


def registrar_usuario(nombre, email): assert "@" in email, "El email no es válido" return {"nombre": nombre, "email": email} usuario = registrar_usuario("Ana", "ana@correo.com") print(usuario)

🧪 Uso combinado con bucles o inputs


while True: edad = input("Introduce tu edad: ") try: edad = int(edad) assert edad > 0, "La edad debe ser positiva" break except (ValueError, AssertionError) as e: print(f"❌ Error: {e}")

🧠 ¿Qué aprendiste hoy?

✔️ Cómo usar assert para validar condiciones
✔️ Cómo capturar errores sin romper el programa
✔️ Cómo detectar errores durante el desarrollo
✔️ Cómo crear validaciones más limpias y robustas


📂 Código de ejemplos en GitHub:
github.com/josecodetech

🎥 Video explicativo en YouTube:
https://www.youtube.com/watch?v=ccWUUSFZKRk

No hay comentarios:

Publicar un comentario

Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.