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
SyntaxError
object.
Instance properties
SyntaxError.prototype.message
- Error message. Although ECMA-262 specifies that
SyntaxError
should provide its ownmessage
property, 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.
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