js错误处理机制

function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try { 
        if(x == "")  throw "为空";
        if(isNaN(x)) throw "不是一个数字";
        if(x > 10)   throw "太大";
        if(x < 5)    throw "太小";
    }
    catch(err) {
        message.innerHTML = "输入的值 " + err;
    }
    finally {
        document.getElementById("demo").value = "";
    }
}

finally 语句无论 try 和 catch 执行结果如何都会执行.
try有retrun,先执行finally

function ad() {
    var a = 1;
    try { return a } catch (err) {
        //console.log(a);
    } finally {
        console.log(++a)
    }
}

猜你喜欢

转载自www.cnblogs.com/yiquan/p/10396153.html