File size: 2,300 Bytes
780c9fe |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
---
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 `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.
```js
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.](/en-US/docs/Web/JavaScript/Reference/Errors/Too_much_recursion)
## Specifications
Not part of any standard.
## Browser compatibility
{{Compat}}
## See also
- {{jsxref("Error")}}
- [InternalError: too much recursion](/en-US/docs/Web/JavaScript/Reference/Errors/Too_much_recursion)
|