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栏会看到下面错误:

20141128165740.jpg

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块内的代码逻辑总会执行。

标签:none