面试题答案
一键面试错误处理方法
在SvelteKit路由系统里,当出现路由相关错误时,通常使用 handleError
函数进行错误处理。
实现过程
- 定义
handleError
函数:在src/hooks.server.js
文件中定义handleError
函数。该函数接收error
、event
等参数,可以根据error
的具体情况进行处理。 - 处理逻辑:在函数内部,可以根据错误类型进行不同的处理,例如记录错误日志、返回不同的HTTP状态码和错误页面等。
捕获和显示404错误示例
- 创建
src/hooks.server.js
:
export function handleError({ error, event }) {
if (error.code === 'ENOENT') {
return {
status: 404,
message: 'Not Found'
};
}
return {
status: 500,
message: 'Internal Server Error'
};
}
- 创建404错误页面:在
src/routes/+error.svelte
文件中创建一个通用的错误页面,用于显示错误信息。例如:
<script>
export let error;
</script>
{#if error.status === 404}
<h1>404 - Not Found</h1>
<p>{error.message}</p>
{:else}
<h1>{error.status} - {error.message}</h1>
{/if}
这样,当SvelteKit应用遇到404错误(即 ENOENT
错误)时,就会显示自定义的404错误页面。