PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 网页制作 >> Javascript >> 

javascript中try catch finally 的使用

javascript中try catch finally 的使用

来源:phperz.com  作者:未知  发布时间:2008-03-17
try...catch...finally 语句 为 JScript 实现错误处

try...catch...finally    语句  
   
   为    JScript    实现错误处理。   语法如下
   try    {  
         tryStatements}  
   catch(exception){  
         catchStatements}  
   finally    {  
         finallyStatements}  
   =============  
  参数  
   tryStatement    
   必选项。可能发生错误的语句。    
   exception    
   必选项。任何变量名。exception    的初始化值是扔出的错误的值。    
   catchStatement    


   可选项。处理在相关联的    tryStatement    中发生的错误的语句。    
   finallyStatements    
   可选项。在所有其他过程发生之后无条件执行的语句。    
   说明  
   try...catch...finally    语句提供了一种方法来处理可能发生在给定代码块中的某些或全部错误,同时仍保持代码的运行。如果发生了程序员没有处理的错误,JScript    只给用户提供它的普通错误信息,就好象没有错误处理一样。  
   
   tryStatements    参数包含可能发生错误的代码,而    catchStatement    则包含处理任何发生了的错误的代码。如果在    tryStatements    中发生了一个错误,则程序控制被传给    catchStatements    来处理。exception    的初始化值是发生在    tryStatements    中的错误的值。如果错误不发生,则不执行    catchStatements。  

   
   如果在与发生错误的    tryStatements    相关联的    catchStatements    中不能处理该错误,则使用    throw    语句来传播、或重新扔出这个错误给更高级的错误处理程序。  
   
   在执行完    tryStatements    中的语句,并在    catchStatements    的所有错误处理发生之后,可无条件执行    finallyStatements    中的语句。  
   
   请注意,即使在    try    或    catch    块中返回一个语句,或在    catch    块重新扔出一个错误,仍然会执行    finallyStatements    编码。一般将确保    finallyStatments    的运行,除非存在未处理的错误。(例如,在    catch    块中发生运行时错误。)。  

   
   示例  
   下面的例子阐明了JScript    特例处理是如何进行的。   
    
 
以下为引用的内容:
 try    {  
       print("Outer    try    running..");  
       try    {  
           print("Nested    try    running...");  
           throw    "an    error";  

       }  
       catch(e)    {  
           print("Nested    catch    caught    "    +    e);  
           throw    e    +    "    re-thrown";  
       }  
       finally    {  
           print("Nested    finally    is    running...");  
       }        
   }  
   catch(e)    {  


       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..  
   Nested    try    running...  
   Nested    catch    caught    an    error  
   Nested    finally    is    running...  
   Outer    catch    caught    an    error    re-thrown  
   Outer    finally    running

还有个典型的例子就是应用在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;
}

 

Tags: 错误   语句   java   javascript   ip   C   final   as   使用  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号