目录
1、try{}catch(e){}
语法:
try{
可能出现的错误代码
}catch(e){
错误处理代码
}//catch用来捕获错误,参数e代表错误对象
举例:
错误代码:
var o = {};
o.func();//这行代码会出错,因为调用了不存在的方法
console.log(o.func());//前面代码出错,这行代码不会运行
错误处理:
var o = {};
try{
console.log(o);//此句没有错误,可以打印出来
console.log(o.func());//捕捉到错误信息,代码中止运行
console.log('------测试------');//此句不执行
}catch(e){
console.log(e);//打印错误信息
}
2、错误对象的传递
//错误代码
function foo1(){
foo2();//在函数foo1中对函数foo2进行调用
console.log('foo1');
}
function foo2(){
var o = {};
o.func();//发生错误
}
//错误处理
try{
foo1();//foo2把错误传递给foo1
}catch(e){
console.log('test');
}
3、抛出错误对象
格式:
throw 错误对象名
try{
var e1 = new Error('错误信息:命名不规范');//创建错误对象
throw e1;//抛出错误对象e1
}catch(e){
console.log(e.message);//输出结果
console.log(e1===e);//判断e1和e是否为同一个对象,输出结果:true
}
注:在js中,超出有效范围的错误很难捕获,一般显示为undefined。
var a=[1,2,3,45,55]
try{
for(var i=0;i<=a.length;i++){
console.log(a[i]);
}
var k = new Array(-1)
}catch(e){
console.log(e);//输出结果
}