Хотя я не нашел способа доступа к базовому объекту ошибки, я нашел этот метод ошибки из nuxt, где вы можете выдать свое исключение, которое в итоге отображается на странице ошибок Nuxt. Вы можете получить доступ к этому методу ошибки в объекте контекста (https://nuxtjs.org/api/context/)
Пример ошибки, включая исключение, может быть следующим:
export default {
asyncData ({ params, error }) {
return axios.get(`https://my-api/posts/${params.id}`)
.then((res) => {
return { title: res.data.title }
})
.catch((e) => {
error({ statusCode: 404, message: 'Post not found', myError: e })
})
}
}
Итак, вы можете обработать исключение на странице ошибки следующим образом
<template>
<div class="container">
<h1 v-if="error.statusCode === 404">Page not found</h1>
<h1 v-else>An error occurred</h1>
<nuxt-link to="/">Home page</nuxt-link>
</div>
</template>
<script>
export default {
props: ['error'],
mounted() {
const { statusCode, message, myError } = this.error;
// send myError to error-reporting API
}
}
</script>