当我查找javascript错误类型时,我发现根据MDN有7种错误类型。
我可以生成所有核心五个错误,例如SyntaxError
,ReferenceError
,RangeError
,URIError
和TypeError
。
但是,我找不到生成其他2种错误类型EvalError
和InternalError
的方法。我该如何生成这个? (或者)是否有任何示例javascript代码引发此错误?
答案 0 :(得分:3)
来自ES5 specification:
15.11.6.1 EvalError
此规范当前未使用此异常。此对象仍与本规范的先前版本兼容。
所以我猜这个错误不能在现代浏览器中产生。
关于InternalError
,您链接的页面显示为:
InternalError该
创建一个实例,表示在引发JavaScript引擎中的内部错误时发生的错误。的 E.g。 “太多的递归”。
确实如此,正在运行
function foo() {
foo();
}
foo();
引发
InternalError: too much recursion
答案 1 :(得分:1)
你可以像这样抛出EvalError
throw new EvalError("message");
但是,InternalError
尚未标准化,但在某些浏览器中,您可以通过执行过多的递归来制作该错误,并且EvalError
位于@FelixKling指出濒临灭绝的边缘