Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

552
Views
Sveltekit que devuelve un 404 en la carga de la página desencadena una excepción no detectada que rompe la página

Tomado directamente de los documentos de sveltekit. Al devolver un 404 en la carga de la página, se producirá una excepción no detectada que rompe la página:

 <script context="module"> /** @type {import('./__types/[...path]').Load} */ export function load({ params }) { return { status: 404, error: new Error(`Not found: /marx-brothers/`) }; } </script>

Lo anterior provoca un error no detectado que aparece en la consola:

ingrese la descripción de la imagen aquí

Esto hará que cualquier otro JS no funcione, como eventos on:click, etc.

Los documentos no dan más detalles sobre el asunto: https://kit.svelte.dev/docs/layouts#error-pages

¿Alguien puede explicar por qué se lanza una excepción no detectada al devolver un estado 404 para una página en la carga de la página? ¿Y cuál es la mejor manera de resolver el problema? Gracias.

Editar: devuelvo el 404 en una página __layout.svelte, que es la página de diseño predeterminada de la que heredan otras páginas. ¿Hay algún problema con hacerlo de esa manera?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

actualizar:

Pude reproducir la excepción no detectada usando la aplicación de demostración y agregando el fragmento de código a __layout.svelte. A pesar de la excepción, la página se mostró bien. No probé si JS estaba roto; la mayoría de las páginas 404 son simples. (Ver nueva captura de pantalla).

Confirmé el cambio error: new Error(...) a una cadena simple aún resultó en una excepción no detectada.

Es muy extraño devolver una respuesta 404 de un __layout.svelte. Los diseños están destinados a ser utilizados para representar elementos comunes de la interfaz de usuario (y quizás una lógica común como proteger páginas detrás de la autenticación).

La verificación de la lógica de estado 404 y la lógica de respuesta deben colocarse en el archivo index.svelte principal. Si no existe una ruta, SvelteKit generará automáticamente la respuesta 404.

Captura de pantalla al modificar la aplicación de demostración:

ingrese la descripción de la imagen aquí


respuesta antigua

No pude reproducir la excepción no detectada. SvelteKit representó una página 404, como se esperaba:

ingrese la descripción de la imagen aquí

Mi proceso (original) para reproducir:

  1. npm init svelte load404 (Elegir proyecto de esqueleto, opciones predeterminadas)
  2. cd load404
  3. yarn
  4. Copie el fragmento de código de la pregunta palabra por palabra en index.svelte:
 <script context="module"> /** @type {import('./__types/[...path]').Load} */ export function load({ params }) { return { status: 404, error: new Error(`Not found: /marx-brothers/`) }; } </script>
  1. yarn dev --open
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!