您可以使用此函数创建带有附加元数据的错误对象。它可以在您应用程序的 Vue 和 Nitro 部分中使用,并且应该被抛出。
err: string | { cause, data, message, name, stack, status, statusText, fatal }您可以向 createError 函数传递字符串或对象。如果传递一个字符串,它将用作错误的 message,并且 status 将默认为 500。如果传递一个对象,您可以设置错误的多个属性,例如 status、message 和其他错误属性。
如果您抛出一个使用 createError 创建的错误
clearError 清除。fatal: true 来实现。<script setup lang="ts">
const route = useRoute()
const { data } = await useFetch(`/api/movies/${route.params.slug}`)
if (!data.value) {
throw createError({ status: 404, statusText: 'Page Not Found' })
}
</script>
使用 createError 在服务器 API 路由中触发错误处理。
export default eventHandler(() => {
throw createError({
status: 404,
statusText: 'Page Not Found',
})
})
在 API 路由中,建议通过传递一个带有简短 statusText 的对象来使用 createError,因为客户端可以访问它。否则,传递给 API 路由上 createError 的 message 将不会传播到客户端。或者,您可以使用 data 属性将数据传回客户端。在任何情况下,始终考虑避免将动态用户输入放入消息中,以避免潜在的安全问题。