エラ

エラー の JavaScript

19個の演習

エラーについて

プログラムやコードに問題があったり、予期しないことが起こったりしたときは、エラーを報告すると役に立ちます。

エラーはJavaScriptのオブジェクトです。

このオブジェクトの主なプロパティはmessageです。

const error = new Error('Oops, something went wrong');

console.log(error.message);
// => "Oops, something went wrong"

throw構文を使うと、エラーを投げることができます。

throw new Error('Oops');

エラーが投げられると、その時点の実行は中断され、コールスタックの最初のcatchブロックから再開します。

try {
  throw new Error('Oops');
} catch (error) {
  console.log(error.message);
  // => "Oops"
}

JavaScriptの他のクラスと同様に、サブクラスはextendsキーワードを使ってErrorを継承し、独自のエラーを作ることができます。 instanceof構文を使うと、catchしたエラーがErrorの特定のサブクラスのインスタンスかどうかを確認できます。

class CustomError extends Error {}

try {
  // ... Code that may throw an error
} catch (error) {
  if (error instanceof CustomError) {
    console.log('The error thrown is an instance of the CustomError');
  }
}

エラーの種類

Errorオブジェクトのほかにも、組み込みのエラーオブジェクトがいくつかあります。詳しくはこちらで学べます。

独自のエラー

組み込みのエラータイプの1つを継承したクラスを作ることで、独自のエラータイプを定義することもできます。

class MyCustomError extends Error {}

エラー以外を投げる

throw構文は通常エラーオブジェクトを投げるために使いますが、JavaScriptは柔軟なので、stringやnull、その他のプリミティブ型も投げることができます。

エラーのスタックトレース

JavaScriptの標準ではありませんが、ほとんどのJavaScript環境ではエラーオブジェクトにstackプロパティが実装されており、投げられたエラーのスタックトレースを取得できます。

GitHubで編集 リンクは新しいウィンドウまたはタブで開きます

エラーを学習する