Volver al curso

TypeScript Completo

leccion
9 / 13
beginner
10 horas
Validacion y APIs

Errores sin caos: Result<T> y mensajes utiles

Lectura
15 min~1 min lectura

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.