SvelteKit 中有两种类型的错误——预期错误和意外错误。
预期错误是指通过 @sveltejs/kit
中的 error
帮助器抛出的错误,例如 src/routes/expected/+page.server.js
中的错误。
src/routes/expected/+page.server
import { error } from '@sveltejs/kit';
export function load() {
error(420, 'Enhance your calm');
}
任何其他错误(例如 src/routes/unexpected/+page.server.js
中的错误)都被视为意外错误。
src/routes/unexpected/+page.server
export function load() {
throw new Error('Kaboom!');
}
当你抛出一个预期错误时,你是在告诉 SvelteKit“别担心,我知道我在做什么”。相比之下,意外错误被认为是应用程序中的错误。当抛出意外错误时,其消息和堆栈跟踪将记录到控制台中。
在后面的章节中,我们将学习如何使用
handleError
钩子添加自定义错误处理。
如果你点击此应用程序中的链接,你会注意到一个重要的区别:预期错误消息会显示给用户,而意外错误消息会被隐藏并替换为通用的“内部错误”消息和 500 状态代码。这是因为错误消息可能包含敏感数据。
1
2
<h1>home</h1>