错误的类型
Error 类型
除了通用的Error构造函数外,JavaScript还有6个其他类型的错误构造函数。
EvalError
创建一个error实例,表示错误的原因:与 eval() 有关。
InternalError
创建一个代表Javascript引擎内部错误的异常抛出的实例。 如: “递归太多”.
RangeError
创建一个error实例,表示错误的原因:数值变量或参数超出其有效范围。
无限调用,超出最大次数报错。
function fn() {
fn()
}
fn() // RangeError: Maximum call stack size exceeded
ReferenceError
创建一个error实例,表示错误的原因:无效引用。
//a 未定义
console.log(a) // ReferenceError: a is not defined
SyntaxError
创建一个error实例,表示错误的原因:eval()在解析代码的过程中发生的语法错误。
SyntaxError: 语法错误
const c = ''1'' // SyntaxError: Unexpected string
TypeError
创建一个error实例,表示错误的原因:变量或参数不属于有效类型。
let b
console.log(b.xxx) // TypeError: Cannot read property 'xxx' of undefined
b不是函数对象所以报错说b不是一个函数不能这样调用。
b = {}
b.xxx() // TypeError: b.xxx is not a function
URIError
创建一个error实例,表示错误的原因:给 encodeURI()或 decodeURl()传递的参数无效。