Nuxt Error Handling
up:: Nuxt ⚐
Summary
Errors can happen in two places:
- Client-side
- Server-side
throw createError("Could not update");
throw createError(
message: "Chapter not found",
statusCode: 404,
);
Client-Side
Error Boundaries
Info
Error boundaries help to isolate errors. It is easier to locate where the error was thrown.
<NuxtErrorBoundary>
<button @click="throwError"> Throw Error
</NuxtErrorBoundary>
This prevents errors to bubble up throughout the whole app. It catches it and renders the error slot.
<template #error="{ error }">
<p>Oh no, something broke!</p>
<code>{{ error }}</code>
<template />
Clearing the error
Getting rid of the error is a simple case of setting the error.value = null
.
Server-Side
Is handled by error.vue
.
<script setup>
const error = useError();
const handleError = () => {
clearError({
redirect: "/"
})
}
</script>