Errores sin caos: Result<T> y mensajes utiles
Errores tipados
En vez de exceptions al aire, usa Result<T> o errores discriminados para manejar fallos con claridad.
Conceptos clave
- Errores esperables vs inesperados
- Mensajes para usuarios vs logs
- Mapear errores a HTTP status
Ejemplo
type Err = { code: 'NOT_FOUND' | 'VALIDATION'; message: string };
type Result<T> = { ok: true; data: T } | { ok: false; error: Err };
function getCourse(slug: string): Result<{ slug: string }> {
if (!slug) return { ok: false, error: { code: 'VALIDATION', message: 'slug requerido' } };
return { ok: true, data: { slug } };
}Ejercicio
- Define un error union para AUTH, VALIDATION, NOT_FOUND.
- Implementa un handler que convierta code a status.
Checklist de mastery
- Puedo modelar errores como datos.
- Tengo un contrato consistente en APIs.
Profundizacion laboral
Para usar este tema en un contexto profesional, no alcanza con conocer la definicion. Necesitas reconocer restricciones, elegir una solucion razonable y explicar el criterio. Trabaja siempre con una version pequena del problema antes de pasar a una implementacion grande.
Aplicacion en entrevista o trabajo
- Describe el problema en una frase clara.
- Explica que alternativa elegiste y que descartaste.
- Muestra evidencia: codigo, captura, tabla, prototipo, checklist o documento.
- Cierra con una mejora futura para demostrar criterio.
Aplicación práctica en un caso real
Aplicar Errores sin caos: Result
Un buen uso empieza por delimitar el problema. Define qué resultado quieres lograr, qué información tienes disponible, qué restricciones existen y cómo sabrás si la decisión fue correcta. Esta forma de pensar evita respuestas genéricas y convierte el aprendizaje en una herramienta de trabajo.
Marco de decisión
Antes de avanzar, revisa tres niveles: primero, el objetivo operativo; segundo, los recursos disponibles; tercero, el riesgo de equivocarte. En TypeScript Completo, muchas decisiones fallan porque se copia una táctica sin entender el contexto. El marco correcto te obliga a adaptar, no solo repetir.
- Objetivo: qué resultado medible o visible quieres conseguir.
- Contexto: quién usará esto, con qué nivel de experiencia y bajo qué restricciones.
- Acción: cuál es el siguiente paso mínimo que puedes ejecutar hoy.
- Señal: qué evidencia vas a observar para decidir si funcionó.
Ejemplo guiado
Supón que debes implementar esta idea en una pequeña empresa o proyecto personal. En vez de intentar una versión perfecta, prepara una versión mínima: una plantilla, una prueba, una lista de control, una automatización simple, una página, un mensaje o una medición inicial. Luego pide feedback o compara el resultado contra una métrica.
Si el resultado mejora, documenta el proceso. Si no mejora, identifica si falló la hipótesis, la ejecución o la medición. Esta distinción es clave: muchas personas abandonan una buena idea por una mala primera ejecución, o escalan una mala idea porque miraron la métrica equivocada.
Errores frecuentes
- Confundir actividad con avance: hacer muchas tareas sin saber qué resultado persiguen.
- Copiar ejemplos sin adaptarlos al cliente, audiencia, equipo o nivel técnico real.
- No dejar evidencia: si no registras decisiones y resultados, no aprendes del proceso.
- Querer automatizar o escalar antes de validar que el enfoque básico funciona.
Ejercicio práctico
- Escribe el objetivo de esta lección en una frase aplicada a tu caso.
- Define un entregable pequeño que puedas crear en menos de una hora.
- Lista tres criterios para evaluar si ese entregable está bien hecho.
- Ejecuta una versión inicial y anota qué cambiarías en una segunda iteración.
Checklist de salida
- Puedo explicar el concepto con mis propias palabras.
- Tengo un ejemplo aplicado, no solo una definición.
- Sé qué error debo evitar primero.
- Tengo una acción concreta para practicar esta semana.