1:错误类型
Error:所有错误的父类型
1:ReferenceError:引用变量不存在
console.log(a) // Uncaught ReferenceError: a is not defined
TypeError:数据类型不正确的错误
let b = null;
console.log(b.xx); // Uncaught TypeError: Cannot read property 'xxx' of null
RangeError:数据值不在其允许范围的错误
function fn () { // 递归,没条件限制,死循环了
fn();
}
fn();// Uncaught RangeError: Maximum call stack size exceeded
SyntaxError:语法错误
let a = 1;
1.split(",");// Uncaught SyntaxError: Invalid or unexpected token
2:错误处理
捕获错误:try…catch
try {
let a;
console.log(a.b);
} catch (err) {
console.error(err.message);
console.error(err.stack);
}
console.log("出错后,继续执行")
抛出错误:throw error
function test () {
if (Math.random() > 0.5) {
console.log("符合条件");
} else {
throw new Error("数据不符合条件,请联系管理员!")
}
}
try {
test();
} catch(err){
alert(err.message);
}