zoukankan      html  css  js  c++  java
  • 异常处理类设计

    controller请求参数添加注解
    @Validated({AddGroup.class}) 


    /**
    * 集中处理所有异常
    */
    @Slf4j
    //@ResponseBody
    //@ControllerAdvice(basePackages = "com.atguigu.gulimall.product.controller")
    @RestControllerAdvice(basePackages = "com.atguigu.gulimall.product.controller")
    public class GulimallExceptionControllerAdvice {


    @ExceptionHandler(value= MethodArgumentNotValidException.class)
    public R handleVaildException(MethodArgumentNotValidException e){
    log.error("数据校验出现问题{},异常类型:{}",e.getMessage(),e.getClass());
    BindingResult bindingResult = e.getBindingResult();

    Map<String,String> errorMap = new HashMap<>();
    bindingResult.getFieldErrors().forEach((fieldError)->{
    errorMap.put(fieldError.getField(),fieldError.getDefaultMessage());
    });
    return R.error(BizCodeEnume.VAILD_EXCEPTION.getCode(),BizCodeEnume.VAILD_EXCEPTION.getMsg()).put("data",errorMap);
    }

    @ExceptionHandler(value = Throwable.class)
    public R handleException(Throwable throwable){

    log.error("错误:",throwable);
    return R.error(BizCodeEnume.UNKNOW_EXCEPTION.getCode(),BizCodeEnume.UNKNOW_EXCEPTION.getMsg());
    }


    }
  • 相关阅读:
    linux top
    虚拟内存
    strcpy与strncpy
    C++ 踩内存
    MySQL -- 全文检索
    MySQL -- 全文检索(自然语言全文检索)
    MySQL -- innodb中cardinality是如何统计的
    MySQL -- Fast Index Creation
    python -- 生成器
    MySQL中模拟oracle中的rownum列
  • 原文地址:https://www.cnblogs.com/returnZero/p/14406400.html
Copyright © 2011-2022 走看看