メインコンテンツにスキップ

SvelteKit には、予期された エラーと 予期しない エラーの 2 種類のエラーがあります。

予期されたエラーとは、src/routes/expected/+page.server.js のように、@sveltejs/kit から error ヘルパーを介してスローされたエラーです。

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 ステータスコードに置き換えられます。これは、エラーメッセージに機密データが含まれている可能性があるためです。

GitHub でこのページを編集する

1
2
<h1>home</h1>