💡 記事の下にエディタを用意しています。壊してもOK!

更新日: 2026年5月31日

JavaScriptのfetchでエラーハンドリングする方法

📌

結論

res.ok でエラーをチェックしよう

📝 実際のコードはこちら
const res = await fetch(url);
if (!res.ok) throw new Error('通信エラー');
const data = await res.json();

まとめ

res.okfalse ならHTTPエラー ・エラー時は throw で例外を投げる

演習で試してみよう

fetchのエラーチェックを実装してみましょう。

🧪 ここで試せます ─ 壊しても大丈夫!

下のエディタで実際にコードを書いて、すぐにプレビューで確認できます。何度でもやり直せるので、思い切って色々試してみてください。

■ 演習

fetchで取得し、res.okがfalseならエラーとconsole.log、trueならデータのtitleを出力してください。

詰まったらヒント

if (!res.ok) { ... } else { ... }

25pt

エラーハンドリング

fetchで取得し、res.okがfalseならエラーとconsole.log、trueならデータのtitleを出力してください。

エラーをクリックで該当行をハイライト。✕=エラー ⚠=警告 ›=ログ。

ロードマップ · 全解説

この演習を深掘りする

「エラーハンドリング」は中級レベルのJavaScript演習です。fetchで取得し、res.okがfalseなら「エラー」とconsole.log、trueならデータのtitleを出力してください。 この課題は、ブラウザ内エディタでその場実行でき、正誤判定も自動で行われます。

res.okでHTTPステータスが成功かどうか判定します。 実務では同様のパターンがコードレビューやUI実装の現場で繰り返し登場します。

学習ロードマップ「api」とセットで進めると、インプット→アウトプットの循環が作れます。演習#65はカテゴリ「api」の中核スキルを固める位置づけです。

取り組み手順(ステップバイステップ)

  1. ページ上部の解説記事を読み、「エラーハンドリング」のゴールを把握する
  2. エディタのJavaScript欄を確認し、スターターコードから書き始める
  3. 詰まったらヒントを開き、解答例と見比べながら差分を埋める
  4. 「実行」ボタンでプレビュー/コンソールを確認し、期待どおりの表示になるかテストする
  5. 正解判定では「sunt」「aut」「title」などが含まれることを確認します。
  6. 正解後は前後の演習リンクから続けて取り組み、同カテゴリを通しで完成させる

解答コードの読み解き方

JavaScript側では console.log、fetch(、async 、await が使われています。API名のtypoとawaitの有無を確認してください。 解説: res.okでHTTPステータスが成功かどうか判定します。 ヒントの要点: if (!res.ok) { ... } else { ... }

実務・転職でどう活きるか

fetchとJSONはフルスタック開発の共通言語です。天気アプリ、GitHub連携、CMSヘッドレス化など実務プロジェクトの9割で使います。

よくある間違い

  • ヒントを読まずに解答を見る: if (!res.ok) { ... } else { ... }
  • fetchのあとawait res.json()を忘れるとPromiseオブジェクトのまま扱ってしまう
  • fetch後にres.json()を忘れる
  • CORSエラーをコードのバグと勘違い
  • try-catchなしでネットワーク障害を無視

トラブルシューティング

実行してもプレビューが変わらない
JavaScriptの編集欄を触っているか確認し、実行ボタンを押したあと数秒待ってから再確認してください。
正解なのに判定が通らない
正解判定では「sunt」「aut」「title」などが含まれることを確認します。 全角スペースやtypo、タグの閉じ忘れを疑ってください。
コンソールにエラーが出る
DevToolsのConsoleタブで行番号を確認し、括弧・引用符の対応を見直します。
スマホで入力しづらい
横画面にするか、PCブラウザで同じURLを開くと快適です。進捗はlocalStorageに保存されます。

転職・面接で話せるポイント

  • 「エラーハンドリング」で扱う技術を自分の言葉で30秒説明できるようにしておく
  • 解答コードの各行が何をしているか、面接官に白板で説明する練習をする
  • CSSプロパティ(https)の役割と代替手段を説明できる
  • JavaScript API(console.log, fetch(, async )の使いどころを実例付きで話せる
  • 「なぜこの実装方法を選んだか」「別解はあるか」を必ず1つ用意する

用語集

fetch
HTTPリクエストを送るブラウザAPI。
JSON
データ交換の軽量フォーマット。
CORS
別ドメインAPI呼び出し時のブラウザ制限。

このページで扱うキーワード

このページは「エラーハンドリング」「api」「中級」「https」「console.log」「fetch(」「async 」「await 」「api error handling」などのキーワードで検索される方に向けた、エラーハンドリングの無料演習・解説です。

関連する開発ツール

学習ロードマップ

学習ロードマップ →

関連する演習

よくある質問(FAQ)

エラーハンドリングは無料ですか?

この演習は完全無料で、ブラウザだけで完結します。アカウント登録やクレジットカードは不要です。

難易度と所要時間は?

「エラーハンドリング」は難易度「中級」です。解説記事を読んでから取り組めば、プログラミング未経験でも30分以内に解ける設計になっています。 1問あたり5〜15分が目安です。詰まったらヒント→解答の順で確認してください。

正解後は何をすればいい?

正解したら「次の問題」リンクから続けてください。同カテゴリを一通り終えたら、学習ロードマップの次ステップへ進むのがおすすめです。

スマホでもできますか?

スマートフォンのブラウザでもエディタとプレビューは動作します。ただしコード入力はPCの方が快適です。

他の演習はどこ?

演習一覧は/learn/から。カテゴリ・難易度でフィルターできます。

「エラーハンドリング」で覚えるポイントは?

res.okでHTTPステータスが成功かどうか判定します。 ヒント: if (!res.ok) { ... } else { ... }

API連携カテゴリの位置づけは?

fetchとJSONはフルスタック開発の共通言語です。天気アプリ、GitHub連携、CMSヘッドレス化など実務プロジェクトの9割で使います。

「エラーハンドリング」の具体的な手順は?

1. ページ上部の解説記事を読み、「エラーハンドリング」のゴールを把握する
2. エディタのJavaScript欄を確認し、スターターコードから書き始める
3. 詰まったらヒントを開き、解答例と見比べながら差分を埋める
4. 「実行」ボタンでプレビュー/コンソールを確認し、期待どおりの表示になるかテストする
5. 正解判定では「sunt」「aut」「title」などが含まれることを確認します。
6. 正解後は前後の演習リンクから続けて取り組み、同カテゴリを通しで完成させる

解答コードの読み方は?

JavaScript側では console.log、fetch(、async 、await が使われています。API名のtypoとawaitの有無を確認してください。

解説: res.okでHTTPステータスが成功かどうか判定します。

ヒントの要点: if (!res.ok) { ... } else { ... }

うまくいかないときは?

実行してもプレビューが変わらない → JavaScriptの編集欄を触っているか確認し、実行ボタンを押したあと数秒待ってから再確認してください。
正解なのに判定が通らない → 正解判定では「sunt」「aut」「title」などが含まれることを確認します。 全角スペースやtypo、タグの閉じ忘れを疑ってください。
コンソールにエラーが出る → DevToolsのConsoleタブで行番号を確認し、括弧・引用符の対応を見直します。
スマホで入力しづらい → 横画面にするか、PCブラウザで同じURLを開くと快適です。進捗はlocalStorageに保存されます。

転職・ポートフォリオでどうアピールする?

「エラーハンドリング」で扱う技術を自分の言葉で30秒説明できるようにしておく 解答コードの各行が何をしているか、面接官に白板で説明する練習をする CSSプロパティ(https)の役割と代替手段を説明できる JavaScript API(console.log, fetch(, async )の使いどころを実例付きで話せる 「なぜこの実装方法を選んだか」「別解はあるか」を必ず1つ用意する

スターターコードは変更していい?

はい。動けばOKですが、まずはスターターを理解してから差分だけ足すと学習効率が上がります。

点数(pt)の意味は?

25ptは難易度の目安です。合計点を競う必要はなく、理解度を測る指標として使ってください。