11自定义异常

文章目录

1

package com.imooc.mall.exception;

public class UserLoginException extends RuntimeException {
}

2

package com.imooc.mall.exception;


import com.imooc.mall.enums.ResponseEnum;
import com.imooc.mall.vo.ResponseVo;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;


import java.util.Objects;
import static com.imooc.mall.enums.ResponseEnum.ERROR;
@ControllerAdvice
public class RuntimeExceptionHandler {


   @ExceptionHandler(RuntimeException.class)
   @ResponseBody
// @ResponseStatus(HttpStatus.FORBIDDEN)
   public ResponseVo handle(RuntimeException e) {
      return ResponseVo.error(ERROR, e.getMessage());
   }

   @ExceptionHandler(UserLoginException.class)
   @ResponseBody
   public ResponseVo userLoginHandle() {
      return ResponseVo.error(ResponseEnum.NEED_LOGIN);
   }


   @ExceptionHandler(MethodArgumentNotValidException.class)
   @ResponseBody
   public ResponseVo notValidExceptionHandle(MethodArgumentNotValidException e) {
      BindingResult bindingResult = e.getBindingResult();
      Objects.requireNonNull(bindingResult.getFieldError());
      return ResponseVo.error(ResponseEnum.PARAM_ERROR,
            bindingResult.getFieldError().getField() + " " + bindingResult.getFieldError().getDefaultMessage());
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值