{category}

JavaScript - エラーオブジェクト

Error

エラー(エラーハンドリング

意味 基本のエラーオブジェクト


Errorとは?

`Error` は基本的なエラーオブジェクトで、例外が発生した際にスローされます。カスタムエラーメッセージを持つことができます。

Errorの具体的な使い方

Errorオブジェクトを使用したカスタムエラーの作成と処理

function divideNumbers(a, b) {
  if (typeof a !== 'number' || typeof b !== 'number') {
    throw new Error('両方の引数は数値である必要があります');
  }
  if (b === 0) {
    throw new Error('0で割ることはできません');
  }
  return a / b;
}

function handleDivision(a, b) {
  try {
    const result = divideNumbers(a, b);
    console.log('計算結果: ' + result);
  } catch (error) {
    console.error('エラーが発生しました: ' + error.message);
    console.log('エラーの名前: ' + error.name);
    console.log('スタックトレース: ' + error.stack);
  }
}

handleDivision(10, 2);
handleDivision('10', 2);
handleDivision(10, 0);

👇出力結果

計算結果: 5
エラーが発生しました: 両方の引数は数値である必要があります
エラーの名前: Error
スタックトレース: Error: 両方の引数は数値である必要があります
    at divideNumbers ...
エラーが発生しました: 0で割ることはできません
エラーの名前: Error
スタックトレース: Error: 0で割ることはできません
    at divideNumbers ...

この例では、Errorオブジェクトを使用して2つの数値の除算を行う関数を定義しています。不正な入力やゼロ除算に対してエラーをスローし、try-catch文でエラーを捕捉して処理しています。Errorオブジェクトのmessage、name、stackプロパティも表示しています。

Errorに関するよくある質問

Q. Errorオブジェクトの主なプロパティは?
A. Errorオブジェクトの主なプロパティには、message(エラーメッセージ)、name(エラー名)、stack(スタックトレース)があります。messageプロパティは最も一般的に使用されます。
Q. カスタムErrorを作成できますか?
A. はい、Errorオブジェクトを継承してカスタムエラークラスを作成できます。これにより、アプリケーション固有のエラータイプを定義し、より詳細なエラー処理が可能になります。
Q. ErrorとExceptionの違いは?
A. JavaScriptでは、ErrorとExceptionは実質的に同じものを指します。Errorは基本的なエラーオブジェクトで、例外(Exception)として投げられます。他の言語では区別がある場合がありますが、JavaScriptではErrorがすべての例外の基本クラスとなっています。

Errorが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、JavaScriptのErrorやRangeError、TypeError、ReferenceError、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


JavaScriptを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!JavaScriptはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

RangeError

範囲エラー

種類: エラーオブジェクト

TypeError

型エラー

種類: エラーオブジェクト

ReferenceError

参照エラー

種類: エラーオブジェクト

Instance

クラスから生成されるオブジェクト

種類: クラスとインスタンス

*

乗算

種類: 演算子