Svelte入門:SvelteKitでのエラー処理 -Vol.1-

スポンサーリンク
Svelte入門:SvelteKitでのエラー処理 -Vol.1- 用語解説
Svelte入門:SvelteKitでのエラー処理 -Vol.1-
この記事は約2分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、SvelteKitでのエラー処.理について解説しています。

スポンサーリンク

背景

SvelteKitでのエラー処理について調査する機会がありましたので、その時の内容を備忘として記事に残しました。

エラー処理

エラーはソフトウェア開発において避けられない事実です。SvelteKit は、エラーの発生場所、エラーの種類、受信したリクエストの性質に応じて、エラーを異なる方法で処理します。

Error objects

SvelteKitは、予期されるエラーと予期しないエラーを区別します。どちらもデフォルトでは単純な { message: string } オブジェクトとして表現されます。

以下の例のように、code やトラッキング用の id などの追加のプロパティを加えることができます。(TypeScriptを使用する場合、これには型安全性で説明されているように Error 型を再定義する必要があります)。

例えば:

// 予期されるエラー
throw error(404, {
  message: 'Not found',
  code: 'NOT_FOUND'
});

// 予期しないエラー
throw {
  message: 'Unexpected error occurred',
  id: 'abc123'
};

TypeScriptを使用する場合、app.d.ts ファイルで Error 型を拡張できます:

declare global {
  namespace App {
    interface Error {
      message: string;
      code?: string;
      id?: string;
    }
  }
}

export {};

このように定義することで、エラーオブジェクトに追加のプロパティを含めることができ、型安全性を保ちながらより詳細なエラー情報を提供できます。これは、エラーハンドリングやデバッグの際に非常に有用です。

また、これらの追加プロパティは $page.error を通じてクライアントサイドでアクセスできるようになり、ユーザーインターフェースでより詳細なエラー情報を表示したり、エラーレポートを生成したりする際に活用できます。

おわりに

今日は、 SvelteKitでのエラー処理について解説しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました