在之前学习java的时候小编就已经接触过try、catch,那么功能相同这边只是做个介绍。
一、try、catch
js代码用他包裹,catch为空时当有错误时会直接跳过try包裹部分错误执行try之后的代码,catch不为空时try中出线错误那么try中截断代码跳到执行catch中执行,这个并不难理解。
看一个实例:
var arr=['a','b','c'];
var a=1,c=2,d=3;
try{
console.log(a);
console.log(b);
console.log(c);
}catch(e){
console.log(e.name+": "+e.message);
console.log(e);
}
console.log(d);
控制台输出为:
catch中e参数为一个错误信息对象,储存了各种错误信息,e还有description属性、number属性,然后可以看到try中代码截止在了错误处但不影响外部代码执行。
二、错误类型
对于整体来说这里才是重点,也就是对e.name的一个归类,了解清楚对之后调试很有帮助
1.EvalError:eval( )的使用于定义不一致
2.RangeError:数值越界
3.ReferenceError:非法或不能识别的引用数值
4.SyntaxError:发生语法解析错误
5.TypeError:操作数类型错误
6.URIError:URI处理函数使用不当