Lección 9 de 13 · Lectura y práctica
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.
Esta es una lección del contenido anterior de Cursalo. Si ya estudiaste o compraste este curso, entra con tu cuenta para guardar tu progreso y abrir el resto de las clases. No necesitas comprar nada de nuevo.
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.