<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評(píng)論 :: 0 Trackbacks
          在代碼的運(yùn)行過(guò)程中,問(wèn)題時(shí)有發(fā)生;如何優(yōu)雅的處理的這些錯(cuò)誤,現(xiàn)的很重要。總體來(lái)說(shuō)問(wèn)題分為2大類:
    系統(tǒng)級(jí)錯(cuò)誤,簡(jiǎn)稱為error,如語(yǔ)法錯(cuò)誤;應(yīng)用級(jí)錯(cuò)誤簡(jiǎn)稱為exception,如用戶輸入的數(shù)值不合法等。如何當(dāng)
    前代碼不能處理此問(wèn)題,則應(yīng)該把此問(wèn)題從當(dāng)前運(yùn)行環(huán)境中跳出,并把它交給上一級(jí)環(huán)境處理。這就用到了
    try{}catch(){}異常處理。
         問(wèn)題的相關(guān)信息被封裝到一個(gè)對(duì)象里。在javascript中,常用Error對(duì)象來(lái)保存有關(guān)錯(cuò)誤的信息。
    為了區(qū)別系統(tǒng)級(jí)錯(cuò)誤和應(yīng)用級(jí)錯(cuò)誤,給Error錯(cuò)誤增加type屬性(error/exception)。
        
         示例代碼如下:
    <script language="javascript">   
         function errorTest(){
          try{
              var s;
                  alert(s.toString());
           }catch(e){
                 var error=new Error();
                     error["type"]="error";
                     error["number"]="110";   
                     error["description"]=e["description"]
                     throw error;             
           }
         }
       
         function exceptionTest(i){
                  try{
                      if(parseInt(i)>0)
                      {
                        var exception=new Error();
                            exception["description"]="不能大于0";
                            throw exception;
                      }
                  }catch(e){
                     var exception=new Error();
                         exception["description"]=e["description"];
                         exception["type"]="exception";
                         exception["number"]="120"; 
                         throw exception;
                  }
         }
        
        
         function test1(){
           try{
              errorTest();        
            }catch(e){
              if(e["type"]=="error"){
                alert("系統(tǒng)級(jí)錯(cuò)誤!");
               }else{
                alert("應(yīng)用級(jí)錯(cuò)誤!");
               }
            }
         }
        
         function test2(){
           try{
              exceptionTest(1);        
            }catch(e){
              if(e["type"]=="error"){
                alert("系統(tǒng)級(jí)錯(cuò)誤!");
               }else{
                alert("應(yīng)用級(jí)錯(cuò)誤!");
               }
            }
         }
        
         test1();
         test2();
    </script>
    以上代碼比較簡(jiǎn)單,但是在代碼比較復(fù)雜的情況下,可以根據(jù)具體情況完善。用此異常框架處理起來(lái)流程比較清晰。  
    posted on 2008-09-01 13:21 二胡 閱讀(1057) 評(píng)論(2)  編輯  收藏 所屬分類: JS

    評(píng)論

    # re: 高效的javascript異常處理框架 2009-06-22 05:03 Daniel Hu
    這是我整理的
    javascript異常處理使用總結(jié) http://www.daniel-journey.com/archives/63  回復(fù)  更多評(píng)論
      

    # re: 高效的javascript異常處理框架 2009-06-22 11:49 二胡
    @Daniel Hu
    根據(jù)你留的URL,看了你寫的文章.我認(rèn)為你寫的比較全面.
    寫此文的時(shí)候,主要是JAVA異常處理我在工作用的教多,而JS用的不多,根據(jù)我在JAVA方面異常處理思想搬到了JS上.
      回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 99精品视频在线观看免费播放| 国产亚洲综合久久系列| 桃子视频在线观看高清免费视频| 456亚洲人成影院在线观| 精品一区二区三区免费毛片| 亚洲国产a级视频| 五月婷婷综合免费| 美女黄色毛片免费看| 亚洲国产精品日韩在线观看| 亚洲国产精品VA在线看黑人 | 亚洲色婷婷一区二区三区| 国产福利免费观看| a毛片久久免费观看| 亚洲精品岛国片在线观看| 99爱在线观看免费完整版| 中文字幕在线免费视频| 亚洲熟妇无码av另类vr影视| 亚洲日本香蕉视频| 国产亚洲精品va在线| 在线亚洲97se亚洲综合在线| 日韩精品无码区免费专区| 黄色成人免费网站| 一本一道dvd在线观看免费视频| 亚洲av无码日韩av无码网站冲| 亚洲不卡视频在线观看| 国产精品亚洲mnbav网站| 啦啦啦高清视频在线观看免费| 免费观看无遮挡www的小视频| 国产精品极品美女自在线观看免费| 看亚洲a级一级毛片| 亚洲人成在线中文字幕| 国产精品亚洲二区在线观看 | 亚洲国产AV无码一区二区三区| 亚洲国产老鸭窝一区二区三区| 亚洲精品夜夜夜妓女网| 亚洲日韩国产精品第一页一区| 国产精品亚洲玖玖玖在线观看| 亚洲一区二区三区免费| 亚洲色自偷自拍另类小说| 亚洲AV无码久久精品色欲| 亚洲国产美国国产综合一区二区|