错误处理
JS中的错误分为:
- 语法错误:会导致整个脚本块无法执行。
- 运行错误
- 运行报错:会导致当前脚本块后续代码无法执行
- 运行结果不符合预期
调试错误
控制台打印
断点调试 (最推荐)
抛出错误
错误在js中本质上是一个对象,抛出错误的语法为:
js
//具体的错误对象可以去MDN查找
throw 错误对象;错误对象的构造函数为Error
错误是有堆栈的: 全局环境->A()->B()
错误抛出: B A 全局环境
捕获错误
js
try{
//代码块1
}
catch(错误对象){
//代码块2
}
finally{
//代码块3
}当运行代码1的时候,如果发生错误,立即停止代码1的执行,转而执行代码2,错误对象为抛出的错误对象。无论代码1和代码2是否,最终都将执行代码3
当finally出现的时候,不论前面是否有return,finally中的代码都会执行
js
try{
//xxx
return 1;
}catch(e){
console.log(e);//当错误被捕获后,之后的代码不会被阻塞,仍旧会执行
}
finally{
console.log(111);
}
//111最终仍旧会执行