2014-04-02 39 views
0

我碰到過幾個Spring控制器的函數,它們拋出IOException異常。Spring控制器函數拋出異常的目的

@RequestMapping(method = ***) 
@ResponseBody 
public List<Offering> getOfferingDetailsList(HttpServletResponse response, @PathVariable("productIds") String productIdString, HttpServletRequest request) throws IOException 

我懷疑這種異常拋出的使用,當上面沒有人捕獲和處理它時。

設置響應狀態如「response.setStatus(HttpStatus.SC_NOT_FOUND)」代替拋出這樣的異常是否正確?
在控制器中處理異常的標準方式是什麼?

回答

1

這是一件好事,有共同的異常處理功能,這樣我們就可以使我們的控制器代碼異常處理的分類,通過外部化到共同的異常處理功能,我來了跨爲此,

http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc

,還可以使用一個全球性的異常處理程序,將做到這一點對所有的控制方法,所有的異常這個有趣的話題。這將集中異常處理,防止大量代碼重複,並避免混淆控制器方法。

看看@ControllerAdvice@ExceptionHandler註釋。

+0

這對我來說是新事物:)。會想嘗試一下。 thx pappu – user811602

0

在Spring控制器中處理異常的相當標準的方法是使用@ExceptionHandler。

退房this交更多細節