Explicación del concepto
En esta lección, practicarás la depuración de un pequeño programa C++ que falla de manera predecible. El objetivo no es solo ver un mensaje de error. El objetivo es seguir el flujo: identificar qué intenta hacer el código, reproducir el problema y luego mejorar el programa para que su comportamiento sea más fácil de entender. Este es un hábito de depuración amigable para principiantes que será importante más adelante, cuando tus programas sean más grandes y la fuente de un problema sea menos obvia.
Dónde poner el código
- Comienza con variables y entradas. Mantén las inclusiones (`includes`), la función `main` y los tipos de datos explícitos.
- Agrega la lógica de procesamiento en la sección central.
- Finaliza con la salida y una validación rápida.
Referencia de comandos
- Ejecuta el programa y confirma qué entrada causa la ruta de falla.
- Cambia los valores en `divideItems` para probar un caso que funciona y uno que falla.
- Mantén el sitio de lanzamiento (`throw site`) y el bloque `catch` fáciles de leer para que la ruta de error sea obvia.
- Describe una elección de depuración que hizo que el programa fuera más fácil de inspeccionar.
Guía paso a paso
- Compila y ejecuta el ejemplo exactamente como está escrito para observar el error manejado.
- Identifica por qué `divideItems(12, 0)` no puede tener éxito.
- Cambia el segundo argumento a un número válido y compara la nueva salida.
- Agrega o edita un mensaje para que el caso de falla sea más claro para un usuario que lee la terminal.
- Resume en una oración cómo los bloques `try` y `catch` ayudan durante la depuración.
Ejercicios prácticos
- Agrega una segunda llamada de prueba con un divisor válido e imprime ambos resultados claramente.
- Reescribe el ejemplo para que la función verifique otra entrada incorrecta, como cajas negativas.
- Crea un pequeño informe en `main` que muestre si cada caso de prueba pasó o falló.
Retos de código
- Implementa el mismo escenario una vez con verificaciones directas y otra con una excepción, luego compara la legibilidad.
- Refactoriza el código para que la lógica de cálculo y los mensajes orientados al usuario estén separados limpiamente.
Mini tareas de práctica
- Renombra una variable para que la intención del código sea más fácil de seguir.
- Agrega un caso protegido adicional y vuelve a ejecutar el programa.
- Escribe un resumen de una línea del error que esta lección está diseñada para exponer.
Error común
Skipping input validation or mixing logic/output in one unstructured block.
Mini reto de la vida real
Build a small real-life example for this lesson topic using 3 clear steps: input, process, output.