編程之道

          無論是批評的,贊揚的,指著的都請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 瘋流成性 閱讀(320) 評論(0)  編輯  收藏 所屬分類: 項目

          主站蜘蛛池模板: 潢川县| 黄浦区| 元阳县| 大姚县| 图们市| 诸城市| 博客| 宣化县| 德保县| 隆尧县| 牟定县| 南皮县| 景泰县| 巨野县| 长寿区| 绿春县| 山东省| 台江县| 淳化县| 大新县| 金昌市| 遂平县| 天台县| 隆化县| 罗田县| 开封县| 都兰县| 雷州市| 淮南市| 西乌珠穆沁旗| 镇江市| 固原市| 星子县| 宜州市| 德昌县| 财经| 黄大仙区| 宁波市| 溧水县| 扶沟县| 湖南省|