The SyntaxError object represents an error when trying to interpret syntactically invalid code. It is thrown when the JavaScript engine encounters tokens or token order that does not conform to the syntax of the language when parsing code.
Constructor
SyntaxError()- Creates a new
SyntaxErrorobject.
Instance properties
SyntaxError.prototype.message- Error message. Although ECMA-262 specifies that
SyntaxErrorshould provide its ownmessageproperty, in SpiderMonkey, it inheritsError.prototype.message. SyntaxError.prototype.name- Error name. Inherited from
Error. SyntaxError.prototype.fileName- Path to file that raised this error. Inherited from
Error. SyntaxError.prototype.lineNumber- Line number in file that raised this error. Inherited from
Error. SyntaxError.prototype.columnNumber- Column number in line that raised this error. Inherited from
Error. SyntaxError.prototype.stack- Stack trace. Inherited from
Error.
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 (ECMA-262)The definition of 'SyntaxError' in that specification. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SyntaxError
|
Chrome
Full support 1 |
Edge
Full support 12 |
Firefox
Full support 1 |
IE
Full support 5.5 |
Opera
Full support 5 |
Safari
Full support 1 |
WebView Android
Full support 1 |
Chrome Android
Full support 18 |
Firefox Android
Full support 4 |
Opera Android
Full support 10.1 |
Safari iOS
Full support 1 |
Samsung Internet Android
Full support 1.0 |
nodejs
Full support 0.1.100 |
SyntaxError() constructor
|
Chrome
Full support 1 |
Edge
Full support 12 |
Firefox
Full support 1 |
IE
Full support 5.5 |
Opera
Full support 5 |
Safari
Full support 1 |
WebView Android
Full support 1 |
Chrome Android
Full support 18 |
Firefox Android
Full support 4 |
Opera Android
Full support 10.1 |
Safari iOS
Full support 1 |
Samsung Internet Android
Full support 1.0 |
nodejs
Full support 0.1.100 |
Legend
- Full support
- Full support
See also
SyntaxError by Mozilla Contributors is licensed under CC-BY-SA 2.5.