簡體   English   中英

異常處理彈簧

[英]Exception Handling Spring

我們正在將我們的應用程序從Struts 1.2轉換為Springs 3.0。 因此,我們正在更改在Struts 2代碼中完成的異常處理。

按照我的理解,這就是我們需要做的。

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

現在我有以下問題。

  1. 使用AOP處理未經檢查的異常有什么好處,除了無需在我的代碼中處理未經檢查的異常之外?
  2. 將已檢查的異常轉換為未檢查的異常有什么好處?
  3. 我應該繼續將Struts中的檢查異常轉換為非檢查異常,然后將我們轉換為AOP嗎?
  4. 在Spring 3.0中處理異常的更好方法是什么?

看一下Spring用於異常處理的工具:

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

這個想法類似於您使用AOP的方法,但是所需的配置要少得多。 本質上,您為代碼引發的任何未經檢查的異常注冊處理程序。 這使您可以通過斷言是否引發異常來測試代碼,並將該邏輯與處理異常以及從異常中恢復脫鈎。

可以將@ExceptionHandler值設置為Exception類型的數組。 如果拋出的異常與列表中的一種類型匹配,則將調用以匹配的@ExceptionHandler注釋的方法。 如果未設置注釋值,則使用列為方法參數的異常類型。

Spring內部使用AOP,您無需進行任何操作。 它為您提供了所有螺栓和螺母代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM