try/catchとエラーハンドリング

生田 陸人
LuaGate エンジニア / 現役エンジニア
編集 LuaGate編集部

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 つができることを確認しましょう。

  1. try/catchとエラーハンドリング の要点を自分の言葉で説明できる
  2. このレッスンの最小コード (または操作手順) を見ずに書ける
  3. 練習問題やクイズで間違えた箇所を読み直して理解した

理解度チェック (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}
main.js
main.js
学習モード

メモ

try/catchとエラーハンドリング

⌘S で保存