我遇到了一些Spring控制器的函数,它们抛出了IOException。
@RequestMapping(method = ***)
@ResponseBody
public List<Offering> getOfferingDetailsList(HttpServletResponse response, @PathVariable("productIds") String productIdString, HttpServletRequest request) throws IOException
我怀疑使用这种异常抛出,当上面没有人抓住并处理它时。
设置响应状态如“response.setStatus(HttpStatus.SC_NOT_FOUND)”就可以了抛出这样的例外?
在控制器中处理异常的标准方法是什么?
答案 0 :(得分:1)
拥有常见的异常处理功能总是好的,这样我们就可以使我们的控制器代码免于异常处理,通过外部化到常见的异常处理功能,我为此目的遇到了这个有趣的主题
http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
并且还使用全局异常处理程序,它将对所有控制器方法的所有异常执行此操作。这将集中处理异常,防止大量代码重复,并避免使控制器方法混乱。
查看@ControllerAdvice
和@ExceptionHandler
注释。
答案 1 :(得分:0)
在Spring Controller中处理异常的一种相当标准的方法是使用@ExceptionHandler。
查看this帖子了解更多详情