SyntaxError - JavaScript 编辑

SyntaxError 对象代表尝试解析语法上不合法的代码的错误。

描述

当Javascript语言解析代码时,Javascript引擎发现了不符合语法规范的tokens或token顺序时抛出SyntaxError.

语法

new SyntaxError([message[, fileName[, lineNumber]]])

参数

message
可选的. 可阅读的错误描述信息
fileName
可选的. 包含引发异常的代码的文件名
lineNumber
可选的. 包含引发异常的代码的行号

属性

SyntaxError.prototype
允许SyntaxError对象添加属性.

方法

全局 SyntaxError 自身不包含任何方法, 但从原型链中继承了一些方法.

SyntaxError 实例

属性

SyntaxError.prototype.constructor
创建实例的构造函数.
SyntaxError.prototype.message
错误信息. 尽管 ECMA-262 指出, SyntaxError 应该提供其子什么的信息属性,但在 SpiderMonkey 中, 仍是继承自Error.prototype.message.
SyntaxError.prototype.name
错误的名称.继承自 Error.
SyntaxError.prototype.fileName
抛出该异常的文件路径.继承自 Error.
SyntaxError.prototype.lineNumber
抛出该异常的文件的行号. 继承自 Error.
SyntaxError.prototype.columnNumber
抛出该异常的文件的列数. 继承自 Error.
SyntaxError.prototype.stack
栈追踪信息. 继承自 Error.

方法

示例

捕获 SyntaxError

try {
  eval('hoo bar');
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "missing ; before statement"
  console.log(e.name);                   // "SyntaxError"
  console.log(e.fileName);               // "Scratchpad/1"
  console.log(e.lineNumber);             // 1
  console.log(e.columnNumber);           // 4
  console.log(e.stack);                  // "@Scratchpad/1:2:3\n"
}

创建 SyntaxError

try {
  throw new SyntaxError('Hello', 'someFile.js', 10);
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "Hello"
  console.log(e.name);                   // "SyntaxError"
  console.log(e.fileName);               // "someFile.js"
  console.log(e.lineNumber);             // 10
  console.log(e.columnNumber);           // 0
  console.log(e.stack);                  // "@Scratchpad/2:11:9\n"
}

规范

SpecificationStatusComment
ECMAScript 3rd Edition (ECMA-262)StandardInitial definition.
ECMAScript 5.1 (ECMA-262)
SyntaxError
Standard 
ECMAScript 2015 (6th Edition, ECMA-262)
SyntaxError
Standard 

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support(Yes)(Yes)(Yes)(Yes)(Yes)
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:59 次

字数:10509

最后编辑:6 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文