前回はmap,filter,reduceについて紹介しました。

今回はエラーハンドリングについて紹介していきます。
![]() |
1冊ですべて身につくJavaScript入門講座 [ Mana ] 価格:2794円 |
JavaScriptエラーハンドリング入門:try/catchで安全なコードを書こう
プログラミングにおいて、エラーは避けられないものです。JavaScriptでは、try/catch文を使って、発生したエラーを検出し、適切に対処することが重要です。この記事では、基本的なエラーハンドリングの概念、try/catchの使い方、そして実践的なコード例を初心者にも分かりやすく解説します。
1. エラーハンドリングの基本概念
エラーハンドリングとは、プログラムの実行中に発生するエラーを検出し、処理を中断せずに安全に対処するための仕組みです。JavaScriptでは、try/catch文を用いて、エラーが発生した場合にそのエラーを捕捉し、適切な処理(例:エラーメッセージの表示、代替処理の実行)を行うことができます。
2. try/catch文の基本構文
try/catch文の基本構文は以下の通りです:
// try ブロック内のコードを実行し、エラーが発生した場合は catch ブロックで処理する
try {
// エラーが発生する可能性のある処理
riskyOperation();
} catch (error) {
// エラーが発生した場合の処理
console.error("エラーが発生しました:", error);
}
この構文により、エラー発生時にプログラムが停止せず、catchブロック内の処理で適切に対処できます。
3. 実践例:try/catchを使った安全なコード
実際のコード例で、try/catch文を使ってエラーをハンドリングする方法を見てみましょう。
例1: JSONのパース
function safeJsonParse(str) {
try {
return JSON.parse(str);
} catch (error) {
console.error("JSONのパースに失敗しました:", error);
return null; // エラー時は null を返す
}
}
const jsonString = '{"name": "Alice", "age": 25}';
const parsedData = safeJsonParse(jsonString);
console.log(parsedData);
ポイント: 無効なJSON文字列が渡された場合でも、プログラムがクラッシュせず、安全にエラーを処理できます。
例2: APIリクエストのエラーハンドリング
async function fetchData(url) {
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error("ネットワークエラー");
}
const data = await response.json();
return data;
} catch (error) {
console.error("データの取得に失敗しました:", error);
return null;
}
}
fetchData("https://api.example.com/data")
.then(data => {
if (data) {
console.log("取得したデータ:", data);
} else {
console.log("データが取得できませんでした。");
}
});
4. エラーハンドリングのベストプラクティス
try/catchを効果的に使うためのポイントは以下の通りです:
- 局所的に使用する: 必要な部分だけでエラーハンドリングを実施し、過剰なネストを避ける。
- エラーメッセージの明確化: catchブロックでログ出力する際、エラーの原因が分かるように詳細なメッセージを残す。
- 代替処理の検討: エラーが発生した場合に備え、ユーザーに適切なフィードバックや代替処理を提供する。
- 非同期処理の管理: async/awaitとtry/catchを組み合わせることで、非同期処理におけるエラー管理をシンプルにする。
5. まとめと今後の展望
本記事では、JavaScriptのエラーハンドリングの基本として、try/catch文を活用した安全なコードの書き方について解説しました。
エラーハンドリングは、コードの堅牢性を高めるために欠かせない技術です。
初心者の皆さんは、まずは基本のtry/catch文を理解し、実際のプロジェクトでエラー発生時にどのように対処すべきかを学びましょう。
今後は、より高度なエラーハンドリング手法や、エラー検出ツールとの連携を学び、さらに安全なコードを書くためのスキルを磨いてください。
6. 参考リンク
- MDN: try…catch
- MDN: Fetch API
- JavaScript.info: エラーハンドリング
- freeCodeCamp: エラー処理の方法
- W3Schools: JavaScriptエラー
以上がエラーハンドリングについて紹介でした。
次回はメモ帳アプリの作成について紹介します。