Movatterモバイル変換


[0]ホーム

URL:


  1. 面向开发者的 Web 技术
  2. JavaScript
  3. JavaScript 参考
  4. JavaScript 标准内置对象
  5. SyntaxError

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in EnglishAlways switch to English

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 之间拷贝它。

构造函数

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

浏览器兼容性

参见

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp