| name | nuxt-errors |
| description | Error handling with error classes, handlers, and interceptors. Use when handling API errors, displaying validation errors, configuring error handlers, or implementing error interceptors. |
Nuxt Error Handling
Centralized error handling with typed error classes and configurable handlers.
Core Concepts
errors.md - Error classes, handlers, interceptors
Error Classes
import { ValidationError } from '#layers/base/app/errors/validation-error'
import { ConflictError } from '#layers/base/app/errors/conflict-error'
import { TooManyRequestsError } from '#layers/base/app/errors/too-many-requests-error'
if (error instanceof ValidationError) {
error.errors
error.message
error.mapToFormErrors()
}
Error Handlers Configuration
export default defineAppConfig({
errorHandlers: {
401: async ({ flash }) => navigateTo('/auth/login'),
422: async ({ response }) => Promise.reject(new ValidationError(response)),
500: async ({ flash }) => flash.error('Server error'),
},
})
Action Error Handling
const { handleActionError } = useHandleActionError()
try {
await createPost(data)
} catch (error) {
throw handleActionError(error, {
entity: 'post',
operation: 'create',
})
}