RSS订阅
PHP程序员站--WWW.PHPERZ.COM  
网站地图
高级搜索
收藏本站
 当前位置:主页 >> 网页制作 >> JS >> 文章内容
javascript中try catch finally 的使用
[收藏此页[打印本页]   
来源:phperz.com  作者:未知  发布时间:2008-03-17

try...catch...finally    语句  
   
   为    JScript    实现错误处理。   语法如下
   try    {  
         tryStatements}  
   catch(exception){  
         catchStatements}  
   finally    {  
         finallyStatements}  
   =============  
  参数  
   tryStatement    
   必选项。可能发生错误的语句。    
   exception    
   必选项。任何变量名。exception    的初始化值是扔出的错误的值。    
   catchStatement     www.phperz.com
   可选项。处理在相关联的    tryStatement    中发生的错误的语句。    
   finallyStatements    
   可选项。在所有其他过程发生之后无条件执行的语句。    
   说明  
   try...catch...finally    语句提供了一种方法来处理可能发生在给定代码块中的某些或全部错误,同时仍保持代码的运行。如果发生了程序员没有处理的错误,JScript    只给用户提供它的普通错误信息,就好象没有错误处理一样。  
   
   tryStatements    参数包含可能发生错误的代码,而    catchStatement    则包含处理任何发生了的错误的代码。如果在    tryStatements    中发生了一个错误,则程序控制被传给    catchStatements    来处理。exception    的初始化值是发生在    tryStatements    中的错误的值。如果错误不发生,则不执行    catchStatements。   www.phperz.com
   
   如果在与发生错误的    tryStatements    相关联的    catchStatements    中不能处理该错误,则使用    throw    语句来传播、或重新扔出这个错误给更高级的错误处理程序。  
   
   在执行完    tryStatements    中的语句,并在    catchStatements    的所有错误处理发生之后,可无条件执行    finallyStatements    中的语句。  
   
   请注意,即使在    try    或    catch    块中返回一个语句,或在    catch    块重新扔出一个错误,仍然会执行    finallyStatements    编码。一般将确保    finallyStatments    的运行,除非存在未处理的错误。(例如,在    catch    块中发生运行时错误。)。   php程序员站
   
   示例  
   下面的例子阐明了JScript    特例处理是如何进行的。   
    
 
以下为引用的内容:
 try    {  
       print("Outer    try    running..");  
       try    {  
           print("Nested    try    running...");  
           throw    "an    error";  

www.phperz.com


       }  
       catch(e)    {  
           print("Nested    catch    caught    "    +    e);  
           throw    e    +    "    re-thrown";  
       }  
       finally    {  
           print("Nested    finally    is    running...");  
       }        
   }  
   catch(e)    {   phperz~com
       print("Outer    catch    caught    "    +    e);  
   }  
   finally    {  
       print("Outer    finally    running");  
   }  
   //    Windows    Script    Host    作出该修改从而得出    WScript.Echo(s)  
   function    print(s){  
         document.write(s);  
   }  
    将得出以下结果:  
   
   Outer    try    running..   phperz.com
   Nested    try    running...  
   Nested    catch    caught    an    error  
   Nested    finally    is    running...  
   Outer    catch    caught    an    error    re-thrown  
   Outer    finally    running

phperz.com

还有个典型的例子就是应用在ajax 上,用来创建xmlhttp对象
如下:
以下为引用的内容:
function myRequestObj(){ //检查客户浏览器支持哪种对象
    var myhttp=null;
    try{
 myhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
 catch(e){
  try{
   myhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch(e2){
         myhttp = new XMLHttpRequest();
  }
    }
return myhttp;
}
phperz~com

 

php程序员站


 
 相关文章
 
发表评论
全部评论(0条)
 
 站内搜索
 热门搜索 mysql  基础  adodb  url
高级搜索 网站地图 站长工具 IP查询 收藏本站
 热点文章
 随机推荐
网站首页 | 网站地图 | 高级搜索 | RSS订阅
PHP程序员站 Copyright © 2007,PHPERZ.COM All Rights Reserved 粤ICP备07503606号 联系站长