错误类型
1、Error:所有错误的父类型
2、ReferenceError:引用的变量不存在
3、TypeError:数据类型不正确
4、RangeError:数据值不在其允许的范围内
5、SyntaxError:语法错误
ReferenceError
console.log(a);
TypeError
const b = null;
console.log(b.xxx);
const b = {};
console.log(b.xxx());
RangeError
function fn() {
fn()
}
fn()
SyntaxError
const c = """"
错误处理
1、错误捕获:try ... catch
2、抛出错误:throw new Error
错误捕获
try {
console.log(a);
} catch (error) {
console.log(error);
}
console.log('还可以执行');
抛出错误
function something() {
if (Math.floor(Math.random() * 10) % 2 === 0) {
console.log('0-10的随机数是偶数,可执行');
} else {
// 抛出错误
throw new Error('0-10的随机数是奇数,不执行');
}
}
try {
something() // 有可能抛出错误,需要捕获异常
} catch (error) {
alert(error.message)
}