Java提供了兩類主要的異常:runtime exceptionchecked exception。所有的checked exception是從java.lang.Exception類衍生出來的,而runtime exception則是從Java.lang.RuntimeExceptionjava.lang.Error類衍生出來的。

          從邏輯的角度來說,checked exceptionsruntime exception是有不同的使用目的的。checked exception用來指示一種調用方能夠直接處理的異常情況。而runtime exception則用來指示一種調用方本身無法處理或恢復的程序錯誤。

          框架定義了一個異?;?/span>ApplicationException是屬于checked exceptions類型主要有以下幾個功能:

          1、            異常自底向上拋出統一處理,減少處理代碼:

          傳統(過程式)方式編程,采用返回參數告訴調用的函數被調用的函數出現錯誤,所以在調用函數里面要加入很多的if從句來判斷各個被調用函數是否正確返回值,代碼充斥了大量的大括號。采用異常機制,發生異常的位置包裝成自定義的應用異常然后向上拋出,上面的各層均不用處理直接拋出到統一異常處理的MainController里面即可,由統一的類來處理

          2、          異常統一編號,用戶看到統一的處理信息:

          每個異常都可以確定編號,并將編號與提示信息維護在數據庫中,頁面只顯示統一維護的錯誤信息,這樣就不會讓錯誤信息編程開發人員隨手寫的不規范而且難以理解的信息,造成用戶感覺系統難以使用。

          3、            異常信息記錄到錯誤日志中方便追蹤異常位置:

          統一處理程序抓取異常,并將異常信息記錄日志。調試階段還可以在控制臺信息中打出異常堆,方便開發人員快速定位異常發生位置。

          4、            根據獲取異常AOP聲明式事務控制進行回滾操作:

          整個開發使用聲明式的事務,何時回滾就取決與應用異常的拋出。

          配置如下:

          <property name="transactionAttributes">

                               <props>

                                      <prop key="insert*">

                                             PROPAGATION_REQUIRED,-ApplicationException

                                      </prop>

                               </props>

          </property>

          應用異常基類如下圖:

          應用異常.bmp

          其它異常都繼承于基類ApplicationException,主要包含錯誤編號屬性(errorNumber)、異常信息(errorMessage)、異常跟蹤(stackTrace)。以便實現上述功能。


          Feedback

          # re: 基于J2EE輕量級容器構件框架四、異常處理  回復  更多評論   

          2010-03-01 15:32 by xfds
          fdsf

          # re: 基于J2EE輕量級容器構件框架四、異常處理  回復  更多評論   

          2010-03-01 15:34 by qsy
          我看了你對異常的處理,我還是沒看明白,我的qq是553650958,希望得到你的指點,謝謝!

          posts - 9, comments - 27, trackbacks - 0, articles - 19

          Copyright © publisher luo

          主站蜘蛛池模板: 曲水县| 龙州县| 阜城县| 喀什市| 秦皇岛市| 木兰县| 中西区| 德庆县| 泾阳县| 即墨市| 西昌市| 五家渠市| 仪征市| 开化县| 南昌市| 云南省| 兴文县| 楚雄市| 姚安县| 德庆县| 高唐县| 汝南县| 乳山市| 长汀县| 东阳市| 福海县| 南木林县| 无棣县| 察哈| 应城市| 军事| 新兴县| 平定县| 新化县| 健康| 建平县| 阆中市| 大同市| 沛县| 嘉禾县| 长宁县|