*/// ReferenceError: 引用的变量不存在// console.log(a) // ReferenceError: a is not defined// TypeError: 数据类型不正确的错误var b =null// console.log(b.xxx) // TypeError: Cannot read property 'xxx' of null
b =3// console.log(b.xxx()) // TypeError: b.xxx is not a function// RangeError: 数据值不在其所允许的范围内functionfn1(){fn1()}// fn1() // RangeError: Maximum call stack size exceeded// SyntaxError: 语法错误// const c = """" // SyntaxError: Unexpected string
错误处理
捕获错误
try{var d =3d()}catch(error){
console.log(error.message)
console.log(error.stack)}
console.log('捕获错误后还可以继续执行')
抛出错误
functiondoThing(){const time = Date.now()if(time %2===1){
console.log('当前是奇数, 可以执行业务逻辑处理')}else{thrownewError('当前时间是偶数, 无法处理业务逻辑')}}try{doThing()}catch(error){// 捕获错误, 做相应的界面提示alert(error.message)}