try{ } catch (e){ }的理解

js如果出现错误,浏览器则会在console面板中打印出错误,那么我们为什么还要使用try catch呢?

结论:为了在js出现错误的时候,把异常捕获掉,这样程序仍能正常运行下去

a.如下,如果我们这样写:

console.log(i);

var a = 6;

console.log(++a);

因为i未定义,出现错误,那么js就卡在这里了,我们预期的输出a的结果也不执行了。

 

b.如果,我们使用try catch:

        try {
            console.log(i);
        }catch(e) {
           console.log(e)
        }


        var a = 6;
        console.log(++a);

那么,i未定义的错误被捕获掉了,程序仍能继续运行下去,最后输出a的结果是7

c.我们可以自定义抛出错误,比如我们想检验一个值:

var user = 'hvj';

try {
if(user != 'hvb') {

throw new Error('用户名错误');

}
}catch(e) {
console.log(e.message)// 在这里可以捕获到自定义的错误

}

原文地址:https://www.cnblogs.com/Daisy0331/p/9228879.html