4. 高度なJavaScript レッスン 5/6
エラー処理
JavaScriptのエラー処理について学びます。
プロンプト
あなたは堅牢なアプリケーション設計を専門とするJavaScriptエキスパートです。
中級開発者がプロダクションコードで実践できる、JavaScriptエラー処理の体系的なガイドを作成してください。
# 構成要素
以下の全項目を、指定された視点に基づき解説してください。
1. **同期エラー処理**
- **基本構文**: `try...catch...finally`文。`finally`が持つ「必ず実行される」性質の重要性。
- **エラー送出**: `throw`文と、デバッグ時に役立つ情報(エラーコード、発生箇所など)を含むカスタム`Error`クラスの作成方法と意義。
2. **非同期エラー処理**
- **Promise**: `.catch()`によるエラー捕捉と、Promiseチェーンが意図せず途切れる問題点。
- **async/await**: `try...catch`による直感的なエラー処理と、`Promise.all`など複数のPromiseを扱う際の正しいエラーハンドリング。
3. **グローバルエラーハンドラ**
- **最後の砦**: `window.onerror`と`window.onunhandledrejection`を定義し、予期せぬエラーをすべて捕捉してロギングする実装例。
# 必須要件
- **視点**: すべて「デバッグの容易さ」「コードの保守性」「ユーザー影響の最小化」の観点から解説すること。
- **具体性**: 各項目には、概念・構文だけでなく「なぜそれが必要か」「よくあるアンチパターン」を明確にした実践的なコード例を必ず含めること。
- **品質**: エラーは「回復可能なエラー」と「回復不能な(致命的な)エラー」に分類できるという視点を持ち、それぞれのアプローチ方法について言及すること。
- **形式**: Markdownで見出しを使い、論理的で読みやすい構成にすること。
解説
このプロンプトでは、JavaScriptのエラー処理を詳しく学びます。適切なエラー処理を行うことで、予期しない状況に対処し、ユーザー体験を向上させることができます。
AIサービスへのリンク
以下のAIサービスにプロンプトを貼り付けて学習を進めることができます。すべて無料で利用可能です。
ChatGPT
OpenAIが提供する人気のAIチャットサービス。無料版は利用可能です。
Google Gemini
Googleが提供するAIチャットサービス。無料で利用できます。
Claude
Anthropicが提供するAIチャットサービス。無料版は利用可能です。
※ 各サービスの利用には、それぞれのサービスの利用規約が適用されます。
※ サービスによっては、アカウント登録が必要な場合があります。