Documentación offline JavaScript main

InternalError

main Documentación oficial Licencia CC-BY-SA-2.5Descargado el 2026-08-02

En esta página

{{Non-standard_Header}}

The InternalError object indicates an error that occurred internally in the JavaScript engine.

Example cases are mostly when something is too large, e.g.:

  • "too many switch cases",
  • "too many parentheses in regular expression",
  • "array initializer too large",
  • "too much recursion".

InternalError is a subclass of {{jsxref("Error")}}.

Constructor#

  • {{jsxref("InternalError/InternalError", "InternalError()")}} {{non-standard_inline}}
  • : Creates a new InternalError object.

Instance properties#

Also inherits instance properties from its parent {{jsxref("Error")}}.

These properties are defined on InternalError.prototype and shared by all InternalError instances.

  • {{jsxref("Object/constructor", "InternalError.prototype.constructor")}}
  • : The constructor function that created the instance object. For InternalError instances, the initial value is the {{jsxref("InternalError/InternalError", "InternalError")}} constructor.
  • {{jsxref("Error/name", "InternalError.prototype.name")}}
  • : Represents the name for the type of error. For InternalError.prototype.name, the initial value is "InternalError".

Instance methods#

Inherits instance methods from its parent {{jsxref("Error")}}.

Examples#

Too much recursion#

This recursive function runs 10 times, as per the exit condition.

function loop(x) {
  // "x >= 10" is the exit condition
  if (x >= 10) return;

  // do stuff
  loop(x + 1); // the recursive call
}
loop(0);

Setting this condition to an extremely high value, may not work:

```js example-bad function loop(x) { if (x >= 1000000000000) return;

// do stuff loop(x + 1); } loop(0);

// InternalError: too much recursion ```

For more information, see InternalError: too much recursion.

Specifications#

Not part of any standard.

Browser compatibility#

{{Compat}}

See also#