JS中 try...catch...finally (转)

来源:互联网 发布:985软件工程硕士工资 编辑:程序博客网 时间:2024/05/21 22:39

JS的try..catch..finally

var array = null;try {    document.write(array[0]);} catch(err) {    document.writeln("Error name: " + err.name + "");    document.writeln("Error message: " + err.message);}finally{    alert("object is null");}

 

程序执行过程
1. array[0]的时候由于没有创建array数组,array是个空对象,程序中调用array[0]就会产生object is null的异常 
2. catch(err)语句捕获到这个异常通过err.name打印了错误类型,err.message打印了错误的详细信息. 
3. finally类似于java的finally,无论有无异常都会执行.
 
现总结Error.name的六种值对应的信息:
1. EvalError:eval_r()的使用与定义不一致 
2. RangeError:数值越界 
3. ReferenceError:非法或不能识别的引用数值 
4. SyntaxError:发生语法解析错误 
5. TypeError:操作数类型错误 
6. URIError:URI处理函数使用不当