0Pricing
Sveltejs Academy · レッスン

error()とredirect()ヘルパー

load関数やアクションから、型付きエラーとリダイレクトをスローします。

「error()とredirect()ヘルパー」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。

組み込みヘルパーは2つ

@sveltejs/kitのerror()とredirect()は、ユーザー向けの主な2種類の処理分岐を扱います。

error ヘルパー

ステータスとメッセージを持つ構造化エラーをスローします。

import { error } from "@sveltejs/kit";
error(404, "Not found");

redirect ヘルパー

3xxステータスでユーザーを別のURLへ移動させます。

import { redirect } from "@sveltejs/kit";
redirect(303, "/login");

リダイレクトのステータスコード

恒久的な移動には301、一時的な移動には302、「他を参照」(POSTの後によく使用)には303、メソッドを維持する場合は307または308を使用します。

load で使用する

レンダリング前にリダイレクトするため、load内で呼び出します。

if (!session) redirect(303, "/login");

actions で使用する

フォームアクションでは、処理が成功した後にリダイレクトできます。

スローされるパターン

どちらのヘルパーも例外をスローするため、その後のコードには到達しません。TypeScriptは正しく型を絞り込めます。

捕捉しない

これらをtry/catchで囲まず、SvelteKitに処理させてください。

ステータス401と403の違い

認証されていない場合は401、認証済みだが許可されていない場合は403を使用します。

URLと組み合わせる

安全にエンコードできるよう、URLの構築にはURLコンストラクターを使用します。

redirect(303, `/login?next=${encodeURIComponent(url.pathname)}`);

実際の利用例

認証フロー、廃止されたURLからのリダイレクト、存在しないリソースの処理などに使用します。

確認問題

returnではなくredirect()を使用するのはなぜですか?

まとめ

失敗にはerror()を、ナビゲーションにはredirect()を使用します。どちらも例外をスローして、後続のコードを停止させます。

よくある質問

「error()とredirect()ヘルパー」レッスンは無料ですか?

はい。「error()とredirect()ヘルパー」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。

「error()とredirect()ヘルパー」で何を学びますか?

load関数やアクションから、型付きエラーとリダイレクトをスローします。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Sveltejs Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「error()とredirect()ヘルパー」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSveltejs Academyレッスンでコードを書いて実行できますか?

はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. カスタムエラーページの+error.svelte
  2. 想定内エラーと想定外エラー
  3. error()とredirect()ヘルパー
  4. ネストしたレイアウトのエラーページ
← Sveltejs Academyに戻る