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

    評論

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

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

    主站蜘蛛池模板: 亚洲精品国产免费| 国产日韩精品无码区免费专区国产| 国产精品青草视频免费播放| 精品国产一区二区三区免费看| 亚洲AV日韩精品久久久久久久| 美女被爆羞羞网站免费| 一级女人18毛片免费| 色网站在线免费观看| 亚洲视频免费在线播放| 国产乱子伦片免费观看中字| 一区二区在线免费观看| 亚洲AV性色在线观看| 亚洲精品你懂的在线观看| 亚洲一级片免费看| 亚洲1区1区3区4区产品乱码芒果| 久久最新免费视频| 亚洲AV无码国产精品色| 久久久青草青青国产亚洲免观| 一区二区三区在线免费观看视频| 亚洲AV无码一区二三区| 57pao一国产成永久免费| 91精品国产亚洲爽啪在线观看| 无码日韩精品一区二区三区免费 | 中文字幕一区二区免费| 亚洲狠狠狠一区二区三区| 亚洲精品国产精品乱码不卡 | 亚洲av成人一区二区三区在线播放 | 激情97综合亚洲色婷婷五| 亚洲性线免费观看视频成熟| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 亚洲youwu永久无码精品| 国产V亚洲V天堂A无码| 亚欧色视频在线观看免费| 四虎永久在线精品免费一区二区| 亚洲免费一区二区| 国产精品免费观看久久| 国产亚洲欧美在线观看| 亚洲精品在线网站| 久久久久亚洲av无码专区蜜芽| 中文字幕亚洲免费无线观看日本| 亚洲精品中文字幕无码蜜桃|