GloableExceptionHandler类里有的地方的设置用意不太懂

GloableExceptionHandler类里有的地方的设置用意不太懂

@ControllerAdvice
public class GlobalExceptionHandler {
private final Logger log= LoggerFactory.getLogger(GlobalExceptionHandler.class);
   @ExceptionHandler(Exception.class)
@ResponseBody
public Object handlerException(Exception e){
log.error("Default Exception:",e);
       return ApiRestResponse.error(ImoocMallExceptionEnum.SYSTEM_ERROR);

}
@ExceptionHandler(ImoocMallException.class)
@ResponseBody
   public Object handlerImoocMallException(ImoocMallException e){
log.error("ImoocMallException:",e);
       return ApiRestResponse.error(e.getCode(),e.getMessage());

   }

@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
   public ApiRestResponse handlerMethodArgumentNotValidException(MethodArgumentNotValidException e){
log.error("MethodArgumentNotValidException",e);
       return handlerBindingResult(e.getBindingResult());
   }

这些注解以及下面的内容是什么用意呢??”

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小脸 2021-08-17 10:34:44

同学你好,关于GlobalExceptionHandler类及其类中各个方法和注解的作用,建议同学回顾《SpringBoot电商项目》,在4-6小节有对这部分内容进行单独的讲解~

https://class.imooc.com/lesson/1414#mid=35809

祝学习愉快~


  • 提问者 qq_慕神0589333 #1

    听过就忘,能通俗的大致说下??

    2021-08-17 11:42:56
  • 好帮手慕小脸 回复 提问者 qq_慕神0589333 #2

    同学你好,

    1、GlobalExceptionHandler类是用来处理统一异常的,类上注解@ControllerAdvice是用来拦截异常信息的,结合@ExceptionHandler注解,拦截对应的异常,如果发生异常,就会拦截到异常信息,将异常信息进行返回

    http://img1.sycdn.imooc.com//climg/5fd33dbb09cb791411830279.jpg

    2、handlerException是系统异常,handlerImoocMallException是业务异常,与上述1讲解一样,结合注解拦截对应异常,并返回

    祝学习愉快~

    2021-08-17 13:28:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师