javascript引擎负责执行javascript代码,
如果发现错误代码,抛出异常错误, 如果异常错误没有处理语句,继续向上抛,至到系统处理
系统处理方式: 终止程序执行,在控制显示异常错误信息
异常错误类型
SyntaxError 语法错误
ReferenceError 引用错误
TypeError 类型错误
RangeError 值超出有效范围时发生的错误
实例
function test1() {
let num = 100
// let num = 200 //Uncaught SyntaxError: Identifier 'num' has already been declared (at 07js错误处理机制.html:14:13)
const a = 1
// a = 2 // Uncaught TypeError: Assignment to constant variable
// obj.a // Uncaught ReferenceError: obj is not defined
}
自己捕获异常进行处理
try{
// 可能发生异常的代码
}catch(error){
console.log(error)
}
function test2() {
try {
const num = 100
num = 200
} catch (error) {
console.log('程序出错了 :')
} finally{
//注意,finally无论是否出错,都会执行
console.log('不论程序有无出错,都会执行')
}
console.log('结束');
}
test2()