InternalError
非标准: 该特性是非标准的,请尽量不要在生产环境中使用它!
InternalError
对象表示出现在 JavaScript 引擎内部的错误。通常描述某种数量过多的情况,例如:
- "too many switch cases"(过多
case
子句); - "too many parentheses in regular expression"(正则表达式中括号过多);
- "array initializer too large"(数组初始化器过大);
- "too much recursion"(递归过深)。
构造函数
InternalError()
非标准-
创建一个新的
InternalError
对象。
实例属性
Error.prototype.message
-
错误消息。继承自
Error
。 Error.prototype.name
-
错误名称。继承自
Error
。 Error.prototype.cause
-
表示导致当前错误被抛出的原因。继承自
Error
。 Error.prototype.fileName
非标准-
引发此错误的文件的路径。继承自
Error
。 Error.prototype.lineNumber
非标准-
引发此错误的代码所在的文件的行号。继承自
Error
。 Error.prototype.columnNumber
非标准-
引发此错误的代码在文件中所在行的列号。继承自
Error
。 Error.prototype.stack
非标准-
堆栈跟踪。继承自
Error
。
示例
递归过深
根据退出条件所述,以下递归函数运行 10 次。
js
function loop(x) {
// "x >= 10" 是退出条件
if (x >= 10) return;
// 做一些事情
loop(x + 1); // 递归调用
}
loop(0);
如果这个条件值太高,可能不会奏效:
js
function loop(x) {
if (x >= 1000000000000) return;
// 做一些事情
loop(x + 1);
}
loop(0);
// InternalError: too much recursion
要获取更多信息,请参阅 InternalError: too much recursion。
规范
尚未成为任何规范的一部分。
浏览器兼容性
BCD tables only load in the browser