EvalError - JavaScript 编辑

本对象代表了一个关于 eval 函数的错误.此异常不再会被JavaScript抛出,但是EvalError对象仍然保持兼容性.

语法

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

参数

message
可选参数.人类可阅读的关于错误的描述.
fileName(非标准)
可选参数.代码中导致异常的文件的文件名.
lineNumber(非标准)
可选参数.代码中导致异常的代码的行号.

属性

prototype
允许向EvalError对象中添加自定义属性.

方法

全局的EvalError对象本身不包含任何方法, 然而它通过原型链继承了一些方法.

EvalError 实例

属性

EvalError.prototype.constructor
指定创建实例原型的函数.
EvalError.prototype.message
错误信息. 从 ECMA-262 开始 EvalError 提供 message (继承自Error.prototype.message)属性, 详见 SpiderMonkey.
EvalError.prototype.name
错误名称.继承自 Error.
EvalError.prototype.fileName
引发错误的文件路径. 继承自 Error.
EvalError.prototype.lineNumber
引发错误所在行.继承自 Error.
EvalError.prototype.columnNumber
引发错误所在的列. 继承自Error.
EvalError.prototype.stack
堆栈.继承自 Error.

方法

虽然 EvalError 自己的属性方法较少, 但是通过原型链继承了很多有用的方法.

例子

EvalError 不在当前ECMAScript规范中使用,因此不会被运行时抛出. 但是对象本身仍然与规范的早期版本向后兼容.

创建 EvalError

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

规范

规范状态注释
ECMAScript 3rd Edition (ECMA-262)Standard初始定义.
ECMAScript 5.1 (ECMA-262)
EvalError
Standard本规范中未使用. 为了保持向后兼容.
ECMAScript 2015 (6th Edition, ECMA-262)
EvalError
Standard本规范中未使用. 为了保持向后兼容.
ECMAScript (ECMA-262)
EvalError
Living Standard 

浏览器兼容性

BCD tables only load in the browser

该页面中的兼容性表格由结构化的数据生成。如果有意向贡献数据,请查看 https://github.com/mdn/browser-compat-data 并发起 pull request。

相关链接

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

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

发布评论

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

词条统计

浏览:42 次

字数:6900

最后编辑:7 年前

编辑次数:0 次

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