JavaScript

EvalError オブジェクト

 編集:2022.08.10 by T.A.

このオブジェクトは、グローバルの eval() 関数に関するエラーを示します。この例外はもう JavaScript からは発生しなくなっていますが、互換性のために EvalError オブジェクトが残っています。

コンストラクター
new EvalError()
新しい EvalError オブジェクトを生成します。
インスタンス プロパティ
EvalError.message
エラーメッセージです。ECMA-262 において EvalError は自身の message プロパティを提供するべきとされていますが、SpiderMonkey では Error.prototype.message を継承しています。
EvalError.name
エラー名です。Error から継承しています。
EvalError.fileName
このエラーが発生したファイルのパスです。Error から継承しています。
EvalError.lineNumber
このエラーが発生したファイル内の行番号です。Error から継承しています。
EvalError.columnNumber
このエラーが発生した行内の桁番号です。Error から継承しています。
EvalError.stack
スタックトレースです。Error から継承しています。

EvalError は現在の ECMAScript 仕様書では使われておらず、このためランタイムからも投げられません。しかしオブジェクト自体は、以前の仕様書との後方互換性のために残っています。

EvalError の生成
//コンソールにて
try {
  throw new EvalError('Hello', 'someFile.js', 10);
} catch (e) {
  console.log(e instanceof EvalError); // true
  console.log(e.message);              // "Hello"
  console.log(e.name);                 // "EvalError"
  console.log(e.fileName);             // "someFile.js"
  console.log(e.lineNumber);           // 10
  console.log(e.columnNumber);         // 0
  console.log(e.stack);                // "@Scratchpad/2:2:9\n"

テスト