什么是try-catch
语句?
try-catch
语句是JavaScript中的一种处理异常的方式。
它的执行规则如下:首先会执行try中的代码,如果异常则会通过throw抛出异常,而catch会捕获抛出的异常。
a = -1;
try{
if(a<0) throw "数字必须大于0"; //抛出错误
}catch(err){ //抓住抛出的错误
err = "当前错误为:" + err + "!"; //处理错误
//当前错误为:数字必须大于0!
}
在代码执行过程中,如果遇到错误会立即停止执行,转而进入catch语句当中。
finally
语句
在try-catch
语句中,二者都是可选择的。但是finally
语句则是一定会执行的。如果try
中没有异常,finally
语句会正常执行;如果try
中捕获到异常且执行catch
语句,finally
语句依旧会执行。总而言之,只要finally
语句存在,不论有无异常,它都会被执行。
当存在异常时:
a = -1;
try{
if(a<0) throw "数字必须大于0"; //抛出错误
}catch(err){ //抓住抛出的错误
err = "当前错误为:" + err + "!"; //处理错误
}
finally{
console.log(222);
}
//当前错误为:数字必须大于0!
//222
当没有异常时:
a = 1;
try{
if(a<0) throw "数字必须大于0"; //抛出错误
}catch(err){ //抓住抛出的错误
err = "当前错误为:" + err + "!"; //处理错误
}
finally{
console.log(222);
}
//222