createError

您可以使用此函数创建带有附加元数据的错误对象。 它可用于您应用程序的 Vue 和 Nitro 部分,并且应该被抛出。

Parameters:

  • err: { cause, data, message, name, stack, statusCode, statusMessage, fatal }

在你的 Vue 应用程序中抛出错误

如果你抛出一个用 createError 创建的错误:

  • 在服务器端,它会触发一个全屏错误页面,您可以使用 clearError 清除该页面。
  • 在客户端,它会抛出一个非致命错误供您处理。 如果你需要触发全屏错误页面,那么你可以通过设置 fatal: true 来实现。

示例

pages/movies/[slug
vue
<script setup>
const route = useRoute()
const { data } = await useFetch(`/api/movies/${route.params.slug}`)
if (!data.value)
  throw createError({ statusCode: 404, statusMessage: 'Page Not Found' })
</script>

在 API 路由中抛出错误

使用 createError 触发服务器 API 路由中的错误处理。

示例

js
export default eventHandler(() => {
  throw createError({
    statusCode: 404,
    statusMessage: 'Page Not Found'
  })
})