SyntaxError() コンストラクター

SyntaxError オブジェクトは、文法的に無効なコードを解釈しようとしたときのエラーを表します。

構文

new SyntaxError([message[, fileName[, lineNumber]]])

引数

message 省略可

人間が読むためのエラーの説明です。

fileName 省略可

例外が発生したコードを含むファイルの名前です。

lineNumber 省略可

例外が発生したコードの行番号です。

SyntaxError の捕捉

js
try {
  eval("hoo bar");
} catch (e) {
  console.error(e instanceof SyntaxError);
  console.error(e.message);
  console.error(e.name);
  console.error(e.fileName);
  console.error(e.lineNumber);
  console.error(e.columnNumber);
  console.error(e.stack);
}

SyntaxError の生成

js
try {
  throw new SyntaxError("Hello", "someFile.js", 10);
} catch (e) {
  console.error(e instanceof SyntaxError); // true
  console.error(e.message); // Hello
  console.error(e.name); // SyntaxError
  console.error(e.fileName); // someFile.js
  console.error(e.lineNumber); // 10
  console.error(e.columnNumber); // 0
  console.error(e.stack); // @debugger eval code:3:9
}

仕様書

Specification
ECMAScript Language Specification
# sec-nativeerror-constructors

ブラウザーの互換性

BCD tables only load in the browser

関連情報