其他分享
首页 > 其他分享> > 自定义异常

自定义异常

作者:互联网

global error

@Data
@NoArgsConstructor
@AllArgsConstructor
public class GlobalException extends RuntimeException {
	//这个是留给后面用的 什么异常自己注入 
	private RespBeanEnum respBeanEnum;
}

统一异常处理 @RestControllerAdvice

@RestControllerAdvice
public class GlobalExceptionHandler {

	@ExceptionHandler(Exception.class)
	public RespBean ExceptionHandler(Exception e) {
		if (e instanceof GlobalException) {
			GlobalException ex = (GlobalException) e;
			return RespBean.error(ex.getRespBeanEnum());
		} else if (e instanceof BindException) {
			//校验主键 绑定异常
			BindException ex = (BindException) e;
			RespBean respBean = RespBean.error(RespBeanEnum.BIND_ERROR);
			respBean.setMessage("参数校验异常:" + ex.getBindingResult().getAllErrors().get(0).getDefaultMessage());
			return respBean;
		}
		return RespBean.error(RespBeanEnum.ERROR);
	}

}

这里的场景是 因为手机号码校验不成功 所以是bindexception 会获得那个异常

标签:RespBean,自定义,BindException,GlobalException,ex,error,异常
来源: https://www.cnblogs.com/purexww/p/15302748.html