Java教程

自定义异常

本文主要是介绍自定义异常,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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 会获得那个异常

这篇关于自定义异常的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!