码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC异常处理

时间:2020-01-04 14:39:19      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:hand   获取   控制   原因   状态   方法   多个   手动   exce   

将异常映射为状态码

  1. 定义一个异常类
  2. @ResponseStatus注解标注异常类。

@ResponseStatus接受两个参数:

  • value, 表示状态码
  • reason, 表示原因

当应用抛出@ResponseStatus注解标注的异常类时,SpringMVC会将异常映射为状态码

手动处理异常——单控制器异常处理

  1. 如果某控制器抛出异常需要处理,则在此控制器里定义一个异常处理方法
  2. @ExceptionHandler注解标注异常处理方法

@ExceptionHandler需要传入特定异常类作为参数。当控制器某个方法抛出异常,@ExceptionHandler方法将捕获并处理这个异常。

这种处理方法的缺点是,它只能处理单一控制器抛出的异常。如果多个控制器抛出相同的异常,则必须在每个控制器中定义@ExceptionHandler方法才能处理异常

手动处理异常——多控制器异常处理

  1. 定义控制器通知类(使用@ControllerAdvice注解表注 标注)
  2. 编写处理方法

处理方法通过@ExceptionHandler@InitBinder@ModelAttribute注解标注

@ControllerAdvice注解本身已经使用了@Component,因此@ControllerAdvice注解所标注的类将会自动被组件扫描获取到

SpringMVC异常处理

标签:hand   获取   控制   原因   状态   方法   多个   手动   exce   

原文地址:https://www.cnblogs.com/weixia-blog/p/12148772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!