nuxt logo

Traducción de Documentación (No Oficial)

error.vue

El archivo error.vue es la página de error en tu aplicación Nuxt.

Durante la vida útil de tu aplicación, pueden aparecer algunos errores inesperadamente en tiempo de ejecución. En tal caso, podemos usar el archivo error.vue para sobrescribir los archivos de error predeterminados y mostrar el error de manera agradable.

error.vue
<script setup lang="ts">
import type { NuxtError } from '#app'

const props = defineProps({
  error: Object as () => NuxtError
})
</script>

<template>
  <div>
    <h1>{{ error.statusCode }}</h1>
    <NuxtLink to="/">Volver a inicio</NuxtLink>
  </div>
</template>

Aunque se llama 'página de error', no es una ruta y no debería colocarse en tu directorio ~/pages. Por la misma razón, no deberías usar definePageMeta dentro de esta página. Dicho esto, aún puedes usar layouts en el archivo de error, utilizando el componente NuxtLayout y especificando el nombre del layout.

La página de error tiene una única prop - error que contiene un error para que lo manejes.

El objeto error proporciona los siguientes campos:

{
  statusCode: number
  fatal: boolean
  unhandled: boolean
  statusMessage?: string
  data?: unknown
  cause?: unknown
}

Si tienes un error con campos personalizados, se perderán; deberías asignarlos a data en su lugar:

throw createError({
  statusCode: 404,
  statusMessage: 'Page Not Found',
  data: {
    myCustomField: true
  }
})