Skip to content

Latest commit

 

History

History
71 lines (55 loc) · 2.67 KB

File metadata and controls

71 lines (55 loc) · 2.67 KB
title slug tags browser-compat
EvalError
Web/JavaScript/Reference/Global_Objects/EvalError
Class
EvalError
JavaScript
Object
Reference
javascript.builtins.EvalError

{{JSRef}}

The EvalError object indicates an error regarding the global {{jsxref("Global_Objects/eval", "eval()")}} function. This exception is not thrown by JavaScript anymore, however the EvalError object remains for compatibility.

EvalError is a {{Glossary("serializable object")}}, so it can be cloned with {{domxref("structuredClone()")}} or copied between Workers using {{domxref("Worker.postMessage()", "postMessage()")}}.

Constructor

  • {{jsxref("EvalError/EvalError", "EvalError()")}}
    • : Creates a new EvalError object.

Instance properties

  • {{jsxref("Error.prototype.message", "EvalError.prototype.message")}}
    • : Error message. Inherited from {{jsxref("Error")}}.
  • {{jsxref("Error.prototype.name", "EvalError.prototype.name")}}
    • : Error name. Inherited from {{jsxref("Error")}}.
  • {{jsxref("Error.prototype.cause", "EvalError.prototype.cause")}}
    • : Error cause. Inherited from {{jsxref("Error")}}.
  • {{jsxref("Error.prototype.fileName", "EvalError.prototype.fileName")}} {{non-standard_inline}}
    • : Path to file that raised this error. Inherited from {{jsxref("Error")}}.
  • {{jsxref("Error.prototype.lineNumber", "EvalError.prototype.lineNumber")}} {{non-standard_inline}}
    • : Line number in file that raised this error. Inherited from {{jsxref("Error")}}.
  • {{jsxref("Error.prototype.columnNumber", "EvalError.prototype.columnNumber")}} {{non-standard_inline}}
    • : Column number in line that raised this error. Inherited from {{jsxref("Error")}}.
  • {{jsxref("Error.prototype.stack", "EvalError.prototype.stack")}} {{non-standard_inline}}
    • : Stack trace. Inherited from {{jsxref("Error")}}.

Examples

EvalError is not used in the current ECMAScript specification and will thus not be thrown by the runtime. However, the object itself remains for backwards compatibility with earlier versions of the specification.

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

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

  • {{jsxref("Error")}}
  • {{jsxref("Global_Objects/eval", "eval()")}}