<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上.
      回復  更多評論
      

    主站蜘蛛池模板: 久久久亚洲精品国产| 亚洲成a人片在线观看日本麻豆| 亚洲精品无码久久久影院相关影片| 国产成人 亚洲欧洲| 免费无码黄动漫在线观看| 亚洲中文字幕无码久久2020 | 亚洲国产精品久久久天堂| 一个人免费观看www视频| 亚洲午夜福利717| 免费观看久久精彩视频| 久久亚洲中文字幕精品有坂深雪 | 一级毛片完整版免费播放一区| 免费一区二区视频| 国产免费黄色无码视频| 黑人精品videos亚洲人| 鲁大师在线影院免费观看| 亚洲综合激情视频| 色www永久免费视频| 思思久久99热免费精品6| 亚洲午夜福利717| 亚洲免费在线视频播放| 亚洲熟女综合一区二区三区| 国产精品国产免费无码专区不卡| 国产99精品一区二区三区免费| 亚洲va无码va在线va天堂| AV大片在线无码永久免费| 久久水蜜桃亚洲AV无码精品| 亚洲日韩涩涩成人午夜私人影院| 三年片在线观看免费大全电影| 亚洲中文字幕无码爆乳app| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲av日韩片在线观看| 三年片免费高清版| 亚洲小说区图片区| 亚洲?V乱码久久精品蜜桃 | 亚洲av无码专区在线电影天堂| 国产成人精品久久亚洲| 99精品视频在线视频免费观看 | 亚洲精品综合在线影院| 亚洲色婷婷综合开心网| 69成人免费视频|