InternalError
Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
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".
Constructor
InternalError()
-
Creates a new
InternalError
object.
Instance properties
InternalError.prototype.message
-
Error message. Inherited from
Error
. InternalError.prototype.name
-
Error name. Inherited from
Error
. InternalError.prototype.fileName
-
Path to file that raised this error. Inherited from
Error
. InternalError.prototype.lineNumber
-
Line number in file that raised this error. Inherited from
Error
. InternalError.prototype.columnNumber
-
Column number in line that raised this error. Inherited from
Error
. InternalError.prototype.stack
-
Stack trace. Inherited from
Error
.
Examples
Too much recursion
This recursive function runs 10 times, as per the exit condition.
function loop(x) {
if (x >= 10) // "x >= 10" is the exit condition
return;
// do stuff
loop(x + 1); // the recursive call
}
loop(0);
Setting this condition to an extremely high value, won't 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
BCD tables only load in the browser