概要

TypeScript では、try / catch を使ってエラー(プログラム実行中に起きる問題)を処理できます。

最近の TypeScript では、catch 内のエラーを安全に扱う仕組みが用意されており、思わぬバグを防ぎやすくなっています。


初学者向けに一言で説明

catch の中のエラーは「何が入っているかわからないもの」として扱い、確認してから使おう、という仕組みです。


具体例

❌ 型安全でない書き方(昔ながらの書き方)

try {
  JSON.parse("invalid json");
} catch (e) {
  console.log(e.message);
}

一見問題なさそうですが、実は 安全ではありません。


✅ 型安全な書き方(おすすめ)

try {
  JSON.parse("invalid json");
} catch (e) {
  if (e instanceof Error) {
    console.log(e.message);
  } else {
    console.log("予期しないエラーが発生しました");
  }
}


具体例に対する解説

なぜ問題が起きるのか?

JavaScript では、throw できるものは Error 以外でもOK です。

throw "エラー文字列";
throw 404;
throw { message: "独自エラー" };