Explicación del concepto
La depuración en Go a menudo comienza con comprobaciones pequeñas y explícitas en lugar de magia oculta. En esta lección, trabajarás con el patrón común de Go de devolver un error, comprobarlo inmediatamente y envolverlo con un mejor contexto. El objetivo es desarrollar el hábito de leer los fallos con atención, mejorar el mensaje y mantener el flujo de control obvio para la siguiente persona que lea el código.
Dónde poner el código
- Define las variables de color y posición al principio.
- Crea la lógica de dibujo o posicionamiento de formas en el medio.
- Renderiza la salida (impresión, lienzo, SVG o bloque con estilo) al final.
Referencia de comandos
- Comprueba los errores justo después de la operación que puede fallar para que la fuente del problema sea obvia.
- Usa `fmt.Printf` con `%q` o `%v` cuando quieras una salida de depuración más clara en la terminal.
- Mejora un mensaje de error añadiendo contexto sobre la entrada o el paso que falló.
- Vuelve a ejecutar el programa con entradas fallidas y válidas para comparar el comportamiento directamente.
Guía paso a paso
- Ejecuta el programa inicial con la entrada incorrecta y lee el mensaje de error con atención.
- Reemplaza el valor incorrecto con una cadena numérica válida y confirma que la ruta de éxito funciona.
- Restaura la entrada inválida, pero reescribe el mensaje para que ofrezca un mejor contexto al lector.
- Explica por qué el programa retorna inmediatamente después de manejar el error.
- Finaliza enumerando una cosa que facilitó el proceso de depuración.
Ejercicios prácticos
- Cambia el ejemplo para probar dos valores inválidos diferentes y compara los mensajes.
- Crea una versión que lea una variable de cadena llamada `ageText` y la convierta a un entero.
- Reescribe la salida para que los mensajes de éxito y fallo sean visualmente distintos y fáciles de escanear.
Retos de código
- Envuelve la conversión en una función auxiliar que retorne `(int, error)` y mantén el mensaje de error claro.
- Diseña un pequeño ejemplo de depuración donde el fallo provenga de una entrada vacía en lugar de caracteres inválidos.
Mini tareas de práctica
- Prueba una entrada válida y una inválida.
- Mejora la redacción del mensaje de error.
- Escribe un resumen de una línea sobre por qué Go comprueba `err` explícitamente.
Error común
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
Mini reto de la vida real
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.