此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
SyntaxError
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
* Some parts of this feature may have varying levels of support.
SyntaxError(语法错误)对象代表尝试解析不符合语法的代码的错误。当 Javascript 引擎解析代码时,遇到了不符合语法规范的标记(token)或标记顺序,则会抛出SyntaxError。
SyntaxError 是一个可序列化对象,所以可以使用structuredClone() 对它进行克隆,也可以使用postMessage() 在Worker 之间拷贝它。
In this article
构造函数
SyntaxError()创建一个新的
SyntaxError对象。
实例属性
Error.prototype.message错误消息。继承自
Error。Error.prototype.name错误名称。继承自
Error。Error.prototype.cause表示导致当前错误被抛出的原因。继承自
Error。Error.prototype.fileName非标准引发此错误的文件的路径。继承自
Error。Error.prototype.lineNumber非标准引发此错误的代码所在的文件的行号。继承自
Error。Error.prototype.columnNumber非标准引发此错误的代码在文件中所在行的列号。继承自
Error。Error.prototype.stack非标准堆栈跟踪。继承自
Error。
示例
>捕获 SyntaxError
js
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);}创建 SyntaxError
js
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}规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-native-error-types-used-in-this-standard-syntaxerror> |