JavaScript中try catch finally 使用

在IE泄漏中处理是遇到的方法,通过try..catch..finally方式:
function createButton(){
var obj = document.createElement("button");
obj.innerHTML="点我!";
obj.onclick=function(){
//处理click事件
}
obj.onmouseover=function(){
//处理mouseover事件
}
try{
return obj;
}finally{
obj = null;//在return 之后才执行,解决了在return后将obj置null问题
}
}


错误处理结构:
   try{   
tryStatements
}
catch(exception){
catchStatements}
finally{
finallyStatements
}

参数:
tryStatement
必选项。可能发生错误的语句。
exception
必选项。任何变量名。exception的初始化值是扔出的错误的值。
catchStatement
可选项。处理在相关联tryStatement中发生的错误的语句。
finallyStatements
可选项。在所有其他过程发生之后无条件执行的语句。

说明:
如果在tryStatements中发生了一个错误,则程序控制被传给catchStatements来处理 ,错误处理发生之后,将会执行finallyStatements中语句。

(function(){
try{
console.info('1');
return 'try begin' //1
}catch(e){
console.info('2');
return 'try catch' //2
}finally{
console.info('3');
return 'try finally' //3
}
})();

执行上述代码,发现在1返回return前将会执行到finally,如果其中有return那么函数执行返回,否则执行到1处return返回。如果注释掉3将会返回什么呐?

catch中e.name错误类型:
[list]
[*]1. EvalError:eval()的使用与定义不一致
[*]2. RangeError:数值越界
[*]3. ReferenceError:非法或不能识别的引用数值
[*]4. SyntaxError:发生语法解析错误
[*]5. TypeError:操作数类型错误
[*]6. URIError:URI处理函数使用不当
[/list]
参考:
[url]http://xiaolele.iteye.com/blog/679567[/url]
[url]http://www.welefen.com/javascript-try-finally.html[/url]
[url]http://www.cnblogs.com/silence516/archive/2009/02/20/1394651.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值