try:语句测试代码块的错误,一般把可能会出错的代码放到这里
catch:只有try里面的代码块发生错误时,才会执行这里的代码,参数err记录着try里面代码的错误信息
finally:无论有无异常里面代码都会执行
try{
console.log(1)
}catch(err){
console.log(2)
}finally{
console.log(3)
}
// 1、3
try{
console.log(1)
console.log(hello)
}catch(err){
console.log(2)
}finally{
console.log(3)
}
// 1、2、3
try{
console.log(1)
}catch(err){
console.log(2)
console.log(hello)
}finally{
console.log(3)
console.log(wold)
}
// 1、3 报错:wold is not defined
注意:
- try里面的代码报错的时候,catch里面的代码才会执行,finally里面的代码永远会执行。
- catch和finally里面,正常的代码会从上到下执行顺序。
- 如果只是catch里面代码出错,则报catch里面错误。
- 如果catch和finally都出错则会报finally里面的错误