カテゴリ: TypeScript 更新日: 2026/03/30

TypeScriptでエラー処理を共通関数化して効率的に開発しよう!初心者向け例外処理ガイド

TypeScriptでエラー処理を共通関数化する方法
TypeScriptでエラー処理を共通関数化する方法

先生と生徒の会話形式で理解しよう

生徒

「TypeScriptでプログラムを動かしているとき、エラーが出たときの対処が面倒なのですが、何か良い方法はありますか?」

先生

「エラー処理を毎回書くのは大変ですよね。実は、エラー処理を共通関数化してまとめることで、プログラム全体をすっきりと整理できますよ。」

生徒

「共通関数化とはどういうことですか?具体的に教えてください!」

先生

「それでは、まずはエラー処理の基本から、共通化のやり方まで順を追って解説していきますね。」

1. TypeScriptにおけるエラーと例外処理の基本

1. TypeScriptにおけるエラーと例外処理の基本
1. TypeScriptにおけるエラーと例外処理の基本

プログラム開発において、エラー処理は非常に重要です。TypeScriptでの開発中、予期せぬ問題が発生したときにプログラムが強制的に終了してしまうことを防ぐのが「例外処理」です。例外とは、プログラムの実行中に発生する「想定外の事態」のことです。例えば、インターネットからデータを取り寄せようとしたけれど、通信が切れていてデータが届かない、といったケースを想像してください。このようなときに、プログラムをクラッシュさせるのではなく、適切に「エラーが起きたこと」を検知し、ユーザーに分かりやすく伝えたり、安全に処理を中断したりする仕組みが例外処理なのです。

2. try-catch文を使った基本的なエラーのキャッチ

2. try-catch文を使った基本的なエラーのキャッチ
2. try-catch文を使った基本的なエラーのキャッチ

例外処理の基本となるのが、try-catchという仕組みです。これは、特定のブロックの中でエラーが起きないか監視し、もしエラーが起きたらその後の処理を別の場所に切り替えるという命令です。まずはこの書き方を見てみましょう。tryブロックの中には実行したいコードを書き、もしその中で問題が起きると、自動的にcatchブロックが動くようになっています。


try {
    const data = JSON.parse("{ 不正なデータ形式 }");
    console.log(data);
} catch (error) {
    console.log("データの変換に失敗しました");
}

このように、tryの中で発生したエラーをcatchが受け取ることで、プログラム全体の停止を防ぐことができます。これはプログラミングにおいて、まるで車の安全装置のような役割を果たしています。

3. なぜエラー処理を共通関数化するのか

3. なぜエラー処理を共通関数化するのか
3. なぜエラー処理を共通関数化するのか

さて、ここからが本題です。もしプログラムの中で何度も同じようなエラー処理を書いていたらどうなるでしょうか。プログラムのコードは長くなり、修正が必要になったときにすべての場所を直さなければならなくなります。そこで「共通関数化」というテクニックを使います。共通関数とは、何度も使う処理を一つの箱にまとめて、どこからでも呼び出せるようにしたものです。これをエラー処理に適用することで、プログラムをシンプルで読みやすく、そしてメンテナンスがしやすい状態に保つことができます。

4. 実際にエラー処理を共通関数化する方法

4. 実際にエラー処理を共通関数化する方法
4. 実際にエラー処理を共通関数化する方法

実際にエラー処理を共通関数として作成してみます。ここでは、エラーの内容をログとして出力したり、特定の形式で処理を返す関数を作ります。関数というのは、特定の機能を持つ部品のようなものです。これを定義しておくことで、エラーが発生した瞬間にこの部品を呼び出すだけでよくなります。


function handleErrors(error: unknown): void {
    if (error instanceof Error) {
        console.error("エラーが発生しました:", error.message);
    } else {
        console.error("原因不明のエラーです");
    }
}

このコードでは、受け取ったエラーがどのようなものかを判断して、適切なメッセージを出力しています。unknownという型は、まだ中身がはっきりしないデータ型を指しますが、ここではどんな種類のエラーでも受け取れるようにしています。

5. 共通関数をプログラム内で活用する

5. 共通関数をプログラム内で活用する
5. 共通関数をプログラム内で活用する

次に、先ほど作成した共通関数を実際に活用してみましょう。try-catchの中で発生したエラーを、自分で書いた関数に丸投げします。これにより、try-catchの中身が非常にスッキリします。


try {
    throw new Error("何かおかしいです");
} catch (e) {
    handleErrors(e);
}

この呼び出し方は非常に簡単です。throwという命令を使うと、わざと意図的にエラーを発生させることができます。このコードを実行すると、先ほど定義した関数が呼び出されて、エラーメッセージを表示してくれるようになります。

6. TypeScriptの型安全性を活かしたエラー管理

6. TypeScriptの型安全性を活かしたエラー管理
6. TypeScriptの型安全性を活かしたエラー管理

TypeScriptを使う最大のメリットは「型安全性」です。型安全性とは、データがどのような種類のものかをプログラムが事前に理解し、誤った操作を防ぐ仕組みのことです。共通関数化を行う際も、この型システムをしっかり活用することで、より堅牢なプログラムを作成できます。例えば、独自のエラーの型を定義して、それに基づいた詳細な管理を行うことで、後からプログラムを見直したときにも何が起きているのかすぐに理解できるようになります。エラー処理を適当に扱うのではなく、しっかりとした構造を作ることで、将来的なバグを減らし、開発のスピードを上げることができます。

7. 開発効率を最大化するエラーハンドリングのベストプラクティス

7. 開発効率を最大化するエラーハンドリングのベストプラクティス
7. 開発効率を最大化するエラーハンドリングのベストプラクティス

最後に、より高度な活用方法について触れます。共通関数化を進めると、システム全体のエラーを一元管理できるようになります。例えば、すべてのエラーをサーバーに送る仕組みを作ったり、ユーザーに専用のエラー画面を見せたりする処理も、共通関数を少し書き換えるだけで対応できます。プログラムを書くときは、ただ動けばいいというだけでなく、「あとからどれだけ直しやすいか」を考えるのがプロへの第一歩です。今回学んだ共通化の手法を、ぜひ普段のプログラミングに取り入れてみてください。


function logToService(message: string) {
    // 本来はサーバーにエラーを送る処理などが入ります
    console.log("外部サービスへ送信:", message);
}

function advancedErrorHandler(error: unknown) {
    const message = error instanceof Error ? error.message : "予期せぬエラー";
    logToService(message);
}

このように、関数の中にさらに別の機能を組み込むことで、エラー処理をより強力で柔軟なものへと進化させることが可能です。TypeScriptでの開発が、以前よりもずっと楽で楽しく感じられるようになるはずです。

カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptの条件式におけるnull・undefined判定のコツ!初心者でもわかる判定方法ガイド
New2
JavaScript
JavaScriptの条件式で論理演算子(&&, ||, !)を活用する方法!初心者でもわかる使い方ガイド
New3
TypeScript
TypeScriptでエラー処理を共通関数化して効率的に開発しよう!初心者向け例外処理ガイド
New4
JavaScript
JavaScriptの条件式における比較演算子の使い方まとめ!初心者でもわかる基本ルールと活用法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptで統一感のあるコードを書くための基本ルール完全ガイド初心者向けコーディング規約入門
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptのonclick・onchangeなどの基本イベントを理解しよう
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptのnever型を使ったエラーハンドリング!例外処理を極める安全なコードの書き方
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの数値フォーマット(小数点以下の桁数調整)を学ぼう