Tips

今日の開発Tips(2025-06-03)

エラーハンドリングを改善し、デバッグ時間を短縮したいですか? 例外処理を適切に行うことで、予期せぬエラーからアプリケーションを守り、開発効率を向上させることができます。 本Tipsでは、try...catchブロックの効果的な使用方法と、エラー情報のログ出力について解説します。

try…catchを使った効果的な例外処理

try...catchブロックは、エラーが発生する可能性のあるコードをtryブロック内に記述し、エラーが発生した場合にcatchブロック内の処理を実行することで、アプリケーションのクラッシュを防ぎます。 tryブロック内で発生した例外は、catchブロックの引数として受け取ることができ、エラーの詳細をログに出力したり、ユーザーに適切なメッセージを表示したりできます。

try {
  // エラーが発生する可能性のあるコード
  const result = 10 / 0; 
  console.log(result);
} catch (error) {
  // エラーが発生した場合の処理
  console.error("エラーが発生しました:", error.message);  // エラーメッセージを出力
  // エラーログをファイルや外部サービスに送信する処理を追加することも可能
} finally {
  // エラー発生に関わらず必ず実行される処理 (例: リソースの解放)
  console.log("finallyブロックが実行されました");
}

注意点:

  • catchブロックでは、errorオブジェクトのプロパティ(message, name, stackなど)を利用してエラーの詳細情報を取得できます。特にstackプロパティはデバッグに非常に役立ちます。
  • finallyブロックは、例外の発生に関わらず必ず実行されるため、リソースの解放(ファイルのクローズなど)に利用すると安全です。
  • 特定の種類のエラーだけをキャッチしたい場合は、instanceof演算子を使ってエラーの種類をチェックできます。 例:if (error instanceof TypeError) { ... }

おすすめポイント:

  • 適切なエラーハンドリングは、アプリケーションの堅牢性を高め、予期しないクラッシュを防ぎます。
  • 詳細なエラーログは、デバッグ時間を大幅に短縮します。
  • finallyブロックは、リソースリークを防ぎ、アプリケーションの安定性を向上させます。