SyntaxError() constructor
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The SyntaxError() constructor creates SyntaxError objects.
Syntax
js
new SyntaxError()
new SyntaxError(message)
new SyntaxError(message, options)
new SyntaxError(message, fileName)
new SyntaxError(message, fileName, lineNumber)
SyntaxError()
SyntaxError(message)
SyntaxError(message, options)
SyntaxError(message, fileName)
SyntaxError(message, fileName, lineNumber)
Note:
SyntaxError() can be called with or without new. Both create a new SyntaxError instance.
Parameters
messageOptional-
Human-readable description of the error
optionsOptional-
An object that has the following properties:
causeOptional-
A property indicating the specific cause of the error. When catching and re-throwing an error with a more-specific or useful error message, this property can be used to pass the original error.
fileNameOptional Non-standard-
The name of the file containing the code that caused the exception
lineNumberOptional Non-standard-
The line number of the code that caused the exception
Examples
>Catching a SyntaxError
js
try {
eval("hoo bar");
} catch (e) {
console.log(e instanceof SyntaxError); // true
console.log(e.message);
console.log(e.name); // "SyntaxError"
console.log(e.stack); // Stack of the error
}
Creating a SyntaxError
js
try {
throw new SyntaxError("Hello");
} catch (e) {
console.log(e instanceof SyntaxError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "SyntaxError"
console.log(e.stack); // Stack of the error
}
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-nativeerror-constructors> |
Browser compatibility
Loading…