--- title: EvalError slug: Web/JavaScript/Reference/Global_Objects/EvalError translation_of: Web/JavaScript/Reference/Global_Objects/EvalError ---
{{JSRef}}

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

语法

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

参数

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

属性

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

方法

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

EvalError 实例

属性

{{page('/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/EvalError/prototype', 'Properties')}}

方法

{{page('/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/EvalError/prototype', 'Methods')}}

例子

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"
}

规范

规范 状态 注释
{{SpecName('ES3')}} {{Spec2('ES3')}} 初始定义.
{{SpecName('ES5.1', '#sec-15.11.6.1', 'EvalError')}} {{Spec2('ES5.1')}} 本规范中未使用. 为了保持向后兼容.
{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-evalerror', 'EvalError')}} {{Spec2('ES6')}} 本规范中未使用. 为了保持向后兼容.
{{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-evalerror', 'EvalError')}} {{Spec2('ESDraft')}}  

浏览器兼容性

{{Compat("javascript.builtins.EvalError")}}

相关链接