metadata
title: InternalError
slug: Web/JavaScript/Reference/Global_Objects/InternalError
page-type: javascript-class
status:
- non-standard
browser-compat: javascript.builtins.InternalError
sidebar: jsref
{{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
InternalErrorobject.
- : Creates a new
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
InternalErrorinstances, the initial value is the {{jsxref("InternalError/InternalError", "InternalError")}} constructor.
- : The constructor function that created the instance object. For
- {{jsxref("Error/name", "InternalError.prototype.name")}}
- : Represents the name for the type of error. For
InternalError.prototype.name, the initial value is"InternalError".
- : Represents the name for the type of error. For
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:
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
- {{jsxref("Error")}}
- InternalError: too much recursion