編程之道

          無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進的動力! 聯系我

          log,exception最佳實踐

          1 log

          1.1 log.error表示系統級錯誤

          1.2 log.warn表示應用級錯誤

          1.3 服務初始化或結束用log.info

          1.4 log.debug替代outdebug要判斷isDebugEnable

          1.5 log.warn("",e)替代e.printstack

          1.6 log4e生成log相關代碼

          1.7 Log信息要保證可讀性,需記錄現場信息,如當前處理id

          2 exception

          2.1 try catch內的代碼不要太長

          2.2 因為性能原因,try catch少放循環內

          2.3 盡量避免catch(Exception)這樣的寫法

          2.4 不同模塊定義不同的exception

          2.5 建議創建應用的基類exception,特別是有定義error code需要的應用

          2.6 只要catch就要log error message

          2.7 catch并封裝成另一種exception,如果不nest原來的exception就要log stackTrace

          2.8 持久層throw dataAccessException,業務層throw checked exception,展現層只顯示exception信息

          2.9 規范的exception流程定義如下:

          業務層不需處理的runtime exception,由展現層定義的exception controller捕獲,交給相應的error頁面顯示并記錄stack信息。業務層捕獲下層的exception,并封裝成業務層的checked exception,如果nest所捕獲的exception,則僅log error message,如果不nest就需要用log.warn(“”,e)記錄stack信息。展現層捕獲業務層的exception,應由處理業務層exceptionerror頁面來處理。

          轉載:http://www.aygfsteel.com/pesome/archive/2006/01/20/28502.html#28814

          posted on 2006-02-24 17:52 瘋流成性 閱讀(320) 評論(0)  編輯  收藏 所屬分類: 項目

          主站蜘蛛池模板: 全州县| 登封市| 榆社县| 万安县| 津南区| 名山县| 宁安市| 女性| 玉屏| 宜兰县| 思茅市| 疏勒县| 苗栗县| 佳木斯市| 抚远县| 黄大仙区| 当雄县| 开封市| 阿巴嘎旗| 云林县| 南召县| 喀喇沁旗| 武鸣县| 克什克腾旗| 石台县| 澎湖县| 新郑市| 普兰县| 香港| 霍邱县| 湘阴县| 修文县| 东安县| 平泉县| 富锦市| 灯塔市| 博野县| 壶关县| 基隆市| 日土县| 盐津县|