首先是try...catch的用法
try{
console.log('a');
console.log(b);
console.log('c');
}catch(e){
console.log(e.name + " : " + e.message);
}
console.log('d');
是的,那么console.log(b);就肯定出错了,若果一般程序的话就报错后面的不执行了
然而只要写在try{}里面,他会隐藏错误,只会导致try里面的从报错的那一行往后不执行
而 后面的 console.log('d');依然执行
catch里面的e有几个属性
e.name 和 e.message
简单归结一下
- EvalError:eval()的使用与定义不一致(不大常见)
- RangeError:数值越界(不大常见)
- ReferenceError:非法或者不能识别的引用数值(主要是当一个变量没声明就使用)
- SyntaxError:发生语法解析错误
- TypeError:操作数类型错误
- URIError:URI处理函数使用不当