首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SyntaxError

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

描述

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

语法

代码语言:javascript
复制
new SyntaxError([message[, fileName[, lineNumber]]])

参数

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

属性

SyntaxError.prototypeAllows the addition of properties to a SyntaxError object.

方法

全局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原型对象本身不包含任何方法,但SyntaxError实例通过原型链继承了一些方法。

示例

捕获 SyntaxError

代码语言:javascript
复制
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

代码语言:javascript
复制
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"
}

规范

Specification

Status

Comment

ECMAScript 3rd Edition (ECMA-262)

Standard

Initial definition.

ECMAScript 5.1 (ECMA-262)The definition of 'SyntaxError' in that specification.

Standard

?

ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'SyntaxError' in that specification.

Standard

?

ECMAScript Latest Draft (ECMA-262)The definition of 'SyntaxError' in that specification.

Living Standard

?

浏览器兼容性

Feature

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com