2013-03-04 159 views
-1

我們正在將我們的應用程序從Struts 1.2轉換爲Springs 3.0。 因此,我們正在修改Struts 2代碼中的異常處理。異常處理彈簧

根據我的未發現,這是我們需要做的。

  1. @ExceptionHandler只能在 Springs的Controller層中使用。
  2. 我們可以使用AOP來處理未經檢查的異常。
  3. 在Struts中檢查異常將保持原樣,並且可以 轉換爲unchecked異常

現在我以下的問題。

  1. 請告訴我使用AOP處理unchecked異常 除了未經檢查的異常不必在我 代碼handelled的好處?
  2. 將檢查的異常轉換爲未檢查的異常的好處是什麼?
  3. 我應該繼續並將我在struts中檢查的異常轉換爲 未經檢查的異常和我們的AOP?
  4. 什麼是更好的方法來處理Spring 3.0中的異常 ?

回答

4

看一看Spring的設施異常處理:

http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/mvc.html#mvc-exceptionhandlers

的想法是類似你的方法使用AOP,但需要少了很多配置。基本上,你註冊一個處理程序來處理你的代碼拋出的任何未經檢查的異常。這使您可以通過聲明是否引發異常來測試代碼,並將該邏輯從處理中解耦出來並從異常中恢復。

+0

感謝您的回答 – Manish 2013-03-06 05:28:13

+0

幫助?如何投票或接受? – 2013-03-06 13:48:11

+0

有一點,所以我投了贊成票:)等待更多評論 – Manish 2013-03-06 16:41:05

1

@ExceptionHandler值可以設置爲Exception類型的數組。如果引發的異常與列表中的某個類型匹配,則將調用使用匹配的@ExceptionHandler註釋的方法。如果未設置註釋值,則使用列爲方法參數的異常類型。

Spring在內部使用AOP,您無需使用它。它給你所有的螺栓和螺母代碼。