<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)論
      

    主站蜘蛛池模板: 国产麻豆免费观看91| 青青在线久青草免费观看| 国产无遮挡又黄又爽免费视频| 亚洲欧洲在线播放| 热re99久久6国产精品免费| 亚洲AV无码一区二区乱孑伦AS| 两个人看的www免费视频中文| 亚洲中文字幕久久精品无码喷水| 羞羞视频免费网站在线看| 亚洲日韩精品一区二区三区| 国产成年无码久久久免费| 日产亚洲一区二区三区| 无码精品A∨在线观看免费| 99热亚洲色精品国产88| 日本免费人成黄页网观看视频| 精品国产日韩亚洲一区91| 亚洲国产成人精品女人久久久 | av电影在线免费看| 亚洲精品无码久久千人斩| 免费一区二区无码东京热| 亚洲va在线va天堂va不卡下载| 最近新韩国日本免费观看| 中文字幕亚洲综合久久综合| 国产在线19禁免费观看| aa级毛片毛片免费观看久| 4480yy私人影院亚洲| 免费看无码自慰一区二区| 成人a毛片视频免费看| 亚洲AV日韩AV高潮无码专区| 久久久高清免费视频| 国产精品亚洲色图| 国产亚洲人成网站观看| 青青草免费在线视频| 久久久久国色AV免费观看| 91久久亚洲国产成人精品性色| 日本黄页网站免费| 国产一级a毛一级a看免费视频| 亚洲国产综合第一精品小说| 亚洲AⅤ视频一区二区三区| 最近中文字幕大全中文字幕免费 | 日本免费精品一区二区三区|