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.
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.
message OptionalHuman-readable description of the error
options OptionalAn object that has the following properties:
cause OptionalA 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.
fileName Optional Non-standard The name of the file containing the code that caused the exception
lineNumber Optional Non-standard The line number of the code that caused the exception
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
}
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
}
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
SyntaxError |
1 | 12 | 1 | 5 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 | 1.0.0 | 1.0 | 0.10.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError/SyntaxError