Manejo de errores y testing

Mapa conceptual
- Python para Datos
- Entorno
- pip
- venv
- Reproducibilidad
- Funcional
- Comprensiones
- Lambda
- map filter
- Calidad
- try except
- pytest
- Asserts
- NumPy
- Arrays
- Broadcasting
- Indexacion
- Pandas
- DataFrame
- Groupby
- Merge Join
- Entorno
Qué es una excepción
Una excepción es un evento que interrumpe el flujo normal cuando algo no cuadra: división por cero, archivo inexistente, tipo de dato inesperado. Python la «lanza» y, si nadie la captura, el programa termina.
try y except
- En try, colocas el código que puede fallar.
- En except, atrapas el tipo concreto de error y decides qué hacer.
- else corre si no hubo excepción; finally corre siempre (para cerrar archivos, liberar recursos).
Atrapa poco y específico
Un «except» que atrapa todo y no hace nada oculta bugs: el programa parece funcionar pero tapa la verdad. Captura el tipo exacto que esperas manejar y deja que los demás suban. Silenciar es peor que fallar.
Lanzar errores propios
Con raise puedes abortar con un mensaje claro cuando un dato viola lo esperado: mejor una excepción temprana y elocuente que un cálculo corrupto más adelante. Fail fast: detecta el problema donde nace.
| Bloque | Cuándo corre | Uso típico |
|---|---|---|
| try | siempre intenta el código protegido | operación que puede fallar |
| except | si hay una excepción capturada | manejar un tipo de error |
| else | si NO hubo excepción | proseguir con lo bueno |
| finally | siempre, haya o no error | limpiar recursos |
¿Cuál es un buen uso de try/except?
Por qué probar
Las pruebas son la red de seguridad: verifican que tu código hace lo que debe hoy, y avisan si un cambio de mañana lo rompe. Sin pruebas, refactorizar es caminar sobre el hielo.
assert y unittest
- assert: una comprobación simple de que algo es verdad; falla ruidosamente si no.
- pytest / unittest: frameworks que ejecutan muchas comprobaciones juntas y reportan los fallos.
Pruebas unitarias
Una prueba unitaria toma una pieza pequeña del código (una función), le da entradas conocidas y comprueba la salida esperada. Rápidas, autónomas y repetibles: se corren con cada cambio.
Silenciar una excepción sin registrarla es una práctica recomendada para evitar molestias.
El ciclo rojo-verde
En desarrollo con pruebas (TDD), primero escribes una prueba que falla (rojo), luego implementas lo mínimo para que pase (verde) y después limpias. Convierte el «funciona, no sé por qué» en algo verificable.
Errores frecuentes
- Capturar excepción base (bare except) y perder el rastro del error real.
- Usar excepciones como control de flujo ordinario, para lo que hay condicionales.
- No escribir ninguna prueba y confiar en el «parece que anda».
Ordena las piezas de un programa confiable:
Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.
pytestFramework de pruebas: fijar comportamiento y correr suites.
Escribe mentalmente una función que lea un archivo y calcule su media. Señala qué excepciones pueden surgir, cómo las manejarías y qué tres casos probarías con una unidad de test.
Tu texto se guarda sólo en este dispositivo.
Documentacion pandasGuia de referencia para manipulacion de datos en Python.
Comentarios
Inicia sesión para comentar.
Todavía no hay comentarios. Sé la primera persona en opinar.