JavaScript中try catch finally 使用
                    在IE泄漏中处理是遇到的方法,通过try..catch..finally方式: 
      
错误处理结构:
      
参数:
tryStatement
必选项。可能发生错误的语句。
exception
必选项。任何变量名。exception的初始化值是扔出的错误的值。
catchStatement
可选项。处理在相关联tryStatement中发生的错误的语句。
finallyStatements
可选项。在所有其他过程发生之后无条件执行的语句。
说明:
如果在tryStatements中发生了一个错误,则程序控制被传给catchStatements来处理 ,错误处理发生之后,将会执行finallyStatements中语句。
      
执行上述代码,发现在1返回return前将会执行到finally,如果其中有return那么函数执行返回,否则执行到1处return返回。如果注释掉3将会返回什么呐?
catch中e.name错误类型:
  
  
                    
                - 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问题
 - }
 - }
 
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
 - }
 
   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
 - }
 - })();
 
(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错误类型:
- 1. EvalError:eval()的使用与定义不一致
 - 2. RangeError:数值越界
 - 3. ReferenceError:非法或不能识别的引用数值
 - 4. SyntaxError:发生语法解析错误
 - 5. TypeError:操作数类型错误
 - 6. URIError:URI处理函数使用不当