try/catchとエラーハンドリング
try/catchとエラーハンドリング とは
エラーを適切にキャッチして処理する方法を学ぼう。本レッスンでは、try/catchとエラーハンドリング の基本から実際の使いどころまでを整理し、現場で迷わず使える形に落とし込みます。
try/catchとエラーハンドリング
エラーが発生してもプログラムがクラッシュしないように、エラーを適切に処理する方法を学びましょう。
try/catch/finally
JavaScript
try {
// エラーが発生する可能性のある処理
const data = JSON.parse(jsonString);
} catch (error) {
// エラー発生時の処理
console.error("パースエラー:", error.message);
} finally {
// 常に実行される(省略可能)
console.log("処理完了");
}Errorオブジェクト
JavaScript
try {
throw new Error("カスタムエラー");
} catch (e) {
console.log(e.message); // "カスタムエラー"
console.log(e.name); // "Error"
}この問題では、JSON.parseを安全に実行し、エラーや不正な型を適切にハンドリングする関数を実装しましょう。
よくある質問
Q. 実務ではどんな場面でこの知識を使いますか?
A. API クライアントの実装、フロントエンドのフレームワーク内ロジック、Node.js のサーバーサイドなど幅広く登場します。React/Vue などのフレームワークもこの基礎の上に成り立っているため、ここで身につけた知識は資産になります。
Q. コードレビューで指摘されやすいポイントは?
A. var の使用、== の使用、無駄なネストの深さ、命名の曖昧さなどが頻出指摘です。Linter(ESLint)と Prettier を導入すれば機械的に防げる指摘が多いため、まずはツールで自動化するのが効率的です。
Q. 次に学ぶべき内容は何ですか?
A. エラーハンドリングの基礎が固まったら、非同期処理(Promise・async/await)と組み合わせた try/catch を押さえましょう。そのうえで fetch を使った API 連携、Web フレームワーク(React/Vue/SvelteKit)、ビルドツール(Vite/Webpack)へと進むのがおすすめです。実プロジェクトでアウトプットしながら学ぶと定着が早まります。
次のレッスン
次は forEach と map で、エラーを適切にキャッチして処理する方法を学ぼう を学びます。
事前確認 — 進む前に次の 3 つができることを確認しましょう。
- try/catchとエラーハンドリング の要点を自分の言葉で説明できる
- このレッスンの最小コード (または操作手順) を見ずに書ける
- 練習問題やクイズで間違えた箇所を読み直して理解した
理解度チェック (30 秒)
Q. try/catchとエラーハンドリング とは何か、1 文で説明してください。
A. 本文の「このレッスンで分かること」または冒頭の説明文を見直し、自分の言葉で要約できれば OK。詰まったら本レッスンの最初の H2 セクションを読み返してみましょう。
関連レッスン
入出力例
test-cases.txt
safeJsonParse("{"name":"太郎","age":25}") → {"data":{"age":25,"name":"太郎"},"error":null,"success":true}
safeJsonParse("invalid json") → {"data":null,"error":"Unexpected token 'i', \"invalid json\" is not valid JSON","success":false}
safeJsonParse(""hello"") → {"data":null,"error":"オブジェクトではありません","success":false}
safeJsonParse("42") → {"data":null,"error":"オブジェクトではありません","success":false}