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)// 在这里可以捕获到自定义的错误
}