← Lumbre

Programación con Python para Datos · 2.º Manejo de errores y testing

Portada de Manejo de errores y testing

Manejo de errores y testing

✦ Un programa maduro no explota en silencio: controla los errores y se somete a pruebas · Programación con Python para Datos · Programación · en menos de 8 minutos

Roadwise Consulting

Firmado y verificado · Biblioteca UNIV

Objetivo: Gestionar excepciones con try/except y escribir pruebas unitarias para detectar fallos de forma temprana.

8 min Programación con Python para Datos · Programación 18–30 años
Más
Manejo de errores y testing

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Programación con Python para Datos · 2.º semestre Cursos Explorar Mi cuenta Salir del modo estudio

Manejo de errores y testing

Ilustracion de Python para datos: DataFrame, graficas y arrays de NumPy.
Python para ciencia de datos: NumPy, pandas y manipulacion de datos.

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

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

  1. En try, colocas el código que puede fallar.
  2. En except, atrapas el tipo concreto de error y decides qué hacer.
  3. 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.

Cada bloque cubre un momento distinto del intento.
BloqueCuándo correUso típico
trysiempre intenta el código protegidooperación que puede fallar
exceptsi hay una excepción capturadamanejar un tipo de error
elsesi NO hubo excepciónproseguir con lo bueno
finallysiempre, haya o no errorlimpiar 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.

Video complementario
Recurso audiovisual para reforzar los conceptos.

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.

Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.
Más sobre esta lección
Explora temas relacionados

Conceptos

Comentarios

Inicia sesión para comentar.

Todavía no hay comentarios. Sé la primera persona en opinar.