MST

星途 面试题库

面试题:SvelteKit路由系统中错误处理的基本方式

在SvelteKit路由系统里,当出现路由相关错误时,通常会使用什么方法进行错误处理?请简要描述其实现过程,并举例说明如何在一个简单的SvelteKit应用中捕获和显示404错误。
41.9万 热度难度
前端开发Svelte

知识考点

AI 面试

面试题答案

一键面试

错误处理方法

在SvelteKit路由系统里,当出现路由相关错误时,通常使用 handleError 函数进行错误处理。

实现过程

  1. 定义 handleError 函数:在 src/hooks.server.js 文件中定义 handleError 函数。该函数接收 errorevent 等参数,可以根据 error 的具体情况进行处理。
  2. 处理逻辑:在函数内部,可以根据错误类型进行不同的处理,例如记录错误日志、返回不同的HTTP状态码和错误页面等。

捕获和显示404错误示例

  1. 创建 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'
    };
}
  1. 创建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错误页面。