Errores esperados e inesperados
Distinga los errores esperados visibles para el usuario de los errores inesperados del servidor
Errores esperados e inesperados es una lección gratuita de Sveltejs Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Sveltejs Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Sveltejs Academy incluye 4 lecciones en total.
Dos categorías
SvelteKit distingue los errores esperados (lanzados intencionadamente) de los inesperados (errores del código).
Esperados: error()
Llame a error(status, message) para los casos de fallo conocidos.
if (!post) error(404, "Post not found");Inesperados: excepciones no capturadas
Cualquier otra excepción es inesperada. SvelteKit oculta el mensaje a los clientes por motivos de seguridad.
Por qué ocultar los mensajes
Los mensajes de error inesperados pueden filtrar detalles de la pila o de la implementación. Mostrar un mensaje genérico es más seguro.
handleError
Use handleError en los hooks para registrar errores inesperados y personalizar el mensaje genérico.
Patrón: validar entradas
Llame a error() cuando las entradas no sean válidas; deje que los errores reales se manifiesten como inesperados.
Helper de redirección
redirect() también es intencionado: úselo para páginas que requieren autenticación o para URL que han cambiado.
Recuperación con try/catch
Envuelva las llamadas externas arriesgadas en try/catch y proporcione una alternativa adecuada para evitar las páginas de error.
Tipos de TypeScript
El error() de SvelteKit está tipado; lanza una excepción, por lo que el resto del código es alcanzable después de la lógica de retorno anticipado.
Elegir el código de estado
404 si no se encuentra, 401 si no se ha autenticado, 403 si no está permitido y 500 para errores del servidor.
Evitar lanzar errores simples
Un throw new Error simple en rutas visibles para el usuario recibe el tratamiento de error inesperado. Use error() para ofrecer una experiencia clara.
Comprobación rápida
¿Qué hace error(404) de forma diferente a throw new Error?
Resumen
Use error() para fallos intencionados con mensajes visibles; deje que los errores reales se lancen y handleError los registre.
Preguntas frecuentes
¿La lección «Errores esperados e inesperados» es gratis?
Sí — el texto completo de «Errores esperados e inesperados» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Sveltejs Academy, actualiza a CoddyKit PRO. El curso de Sveltejs Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Errores esperados e inesperados»?
Distinga los errores esperados visibles para el usuario de los errores inesperados del servidor Practicas Sveltejs Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Sveltejs Academy?
No se requiere experiencia previa. Sveltejs Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Errores esperados e inesperados»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Sveltejs Academy?
Sí. Cada lección de Sveltejs Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- +error.svelte para páginas de error personalizadas
- Errores esperados e inesperados
- Asistentes error() y redirect()
- Páginas de error en layouts anidados