当前位置: 首页 >服务端 > 统一异常处理@ExceptionHandler

统一异常处理@ExceptionHandler

异常处理功能中用到的注解是:@ExceptionHandler(异常类型.class). 
这个注解的功能是:自动捕获controller层出现的指定类型异常,并对该异常进行相应的异常处理. 
比如我要在controller层中处理InsertMessageException类型异常,我就可以在controller层的类中定义以下方法:

@ExceptionHandler(InsertMessageException.class)public ModelAndView HandlerInsertMessageException(Exception ex){ModelAndView modelAndView= new ModelAndException();//相应的处理方法//...//...//比如说获取异常信息,并添加到modelandview中,跳转到指定异常页面modelAndView.addObject("exceptionMessage",ex.getMessage());modelAndView.setViewName("/exceptionPage");retu modelAndView;}

通过这样一个被@ExceptionHandler注解修饰的方法,就能捕获controller层所有抛出的InsertMessageException类型异常,并对异常进行相应的处理

如果想一个方法处理多种类型异常,就需要在@ExceptionHandler的括号中用大括号添加所想要处理的异常类型,用”,”隔开 
例如:@ExceptionHandler({InsertException.class,DeleteException.class})

 

 

===

使用 @ControllerAdvice,不用任何的配置,只要把这个类放在项目中,Spring能扫描到的地方。就可以实现全局异常的回调

@ControllerAdvice  public class SpringExceptionHandler{/**  * 全局处理Exception  * 错误的情况下返回500  * @param ex  * @param req  * @retu  */  @ExceptionHandler(value = {Exception.class})  public ResponseEntity<Object> handleOtherExceptions(final Exception ex, final WebRequest req) {  TResult tResult = new TResult();  tResult.setStatus(CodeType.V_500);  tResult.setErrorMessage(ex.getMessage());  retu new ResponseEntity<Object>(tResult,HttpStatus.OK);  }}  

 

作者:bcombetter
来源链接:https://www.cnblogs.com/xingzc/p/8623490.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/server/112791.html

标签:异常处理
分享给朋友:

“统一异常处理@ExceptionHandler” 的相关文章

pycharm安装教程,超详细 2022年05月16日 21:28:02
[Multimedia][TS]TS流的解析 2022年05月17日 20:41:26
CentOS yum 源的配置与使用 2022年05月19日 19:54:27
多线程编程(1) 2022年05月20日 21:26:51
Python 树表查找 2022年05月20日 21:28:27
素数的判断,以及素数的遍历 2022年05月21日 11:41:39
投票统计,遍历数据 2022年05月21日 11:41:42
Dart微基准测试第一部分 2022年05月23日 20:48:42
Hugo LoveIt主题配置与使用 2022年05月23日 21:56:27