SyntaxError() constructor

The SyntaxError constructor creates a new error object that represents an error when trying to interpret syntactically invalid code.

Syntax

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

Parameters

message Optional
Human-readable description of the error
fileName Optional
The name of the file containing the code that caused the exception
lineNumber Optional
The line number of the code that caused the exception

Examples

Catching a SyntaxError

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);
}

Creating a SyntaxError

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
}

Specifications

Specification
ECMAScript Language Specification (ECMAScript)
# sec-nativeerror-constructors

Browser compatibility

BCD tables only load in the browser

See also