JavaScript学习笔记03 —— 异常捕获与处理
知识要点
throw
用于显式抛出异常
function factorial(x){
if( x < 0) throw new Error("x 不能为负数!");
for (var f = 1; x > 1; f *= x, x--)
return f;
}
factorial(-2);
执行之后,查看浏览器console栏会看到下面错误:
try/catch/finally
语句
function check_mobile(mobile){
try{
if( /^13[0-9]{9}|14[57]{1}[0-9]{8}|15[012356789]{1}[0-9]{8}|170[059]{1}[0-9]{8}|18[0-9]{9}$/.test(mobile) ){
console.log("手机号" + mobile + "正确!");
}
else throw new Error("手机号" + mobile + "非法!");
}
catch(ex){
alert(ex);
}
finally{
console.log('检查手机号方法已执行!');
}
}
check_mobile('1234567890');
check_mobile('1388888888888');
不管try块中是否产生异常,finally块内的代码逻辑总会执行。