EvalError

本对象代表了一个关于 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 Latest Draft (ECMA-262)
EvalError
Draft  

浏览器兼容性

Update compatibility data on GitHub
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
EvalError Chrome Full support 1 Edge Full support 12 Firefox Full support 1 IE Full support 5.5 Opera Full support Yes Safari Full support Yes WebView Android Full support 1 Chrome Android Full support 18 Firefox Android Full support 4 Opera Android Full support Yes Safari iOS Full support Yes Samsung Internet Android Full support 1.0 nodejs Full support Yes

Legend

Full support  
Full support

相关链接