編程之道

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

          log,exception最佳實踐

          1 log

          1.1 log.error表示系統級錯誤

          1.2 log.warn表示應用級錯誤

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

          1.4 log.debug替代out,debug要判斷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 瘋流成性 閱讀(324) 評論(0)  編輯  收藏 所屬分類: 項目

          主站蜘蛛池模板: 隆子县| 积石山| 宝丰县| 乳源| 开封市| 通化市| 白河县| 宣汉县| 和顺县| 桃江县| 仁布县| 晋州市| 凤阳县| 高陵县| 玉龙| 贡山| 旅游| 余庆县| 桑日县| 金塔县| 大余县| 溧阳市| 马边| 禄丰县| 冕宁县| 上虞市| 和静县| 南康市| 调兵山市| 顺平县| 壤塘县| 南乐县| 库尔勒市| 台山市| 哈巴河县| 墨脱县| 固安县| 射阳县| 花垣县| 乌苏市| 鹤岗市|