springboot中全局异常处理GlobalExceptionHandler代码

@ControllerAdvice
@ResponseBody
public class GlobalExceptionHandler {

    /**
     * 处理数据库相同数据异常
     * @param ex
     * @return
     */ @ExceptionHandler(SQLIntegrityConstraintViolationException.class)
    public R<String> exceptionHandler(SQLIntegrityConstraintViolationException ex) {

        if(ex.getMessage().contains("Duplicate entry")){
            String[] split = ex.getMessage().split(" ");
            String msg = split[2] + "已存在";
            return R.error(msg);
        }
        return R.error("未知错误");
    }

    /**
     * 处理自定义的业务异常
     * @param ex
     * @return
     */
    @ExceptionHandler(ServiceException.class)
    public R<String> exceptionHandler(ServiceException s) {

        return R.error(s.getMessage());
    }
}

自定义的业务异常ServiceException代码

public class ServiceException extends RuntimeException{

    public ServiceException(String message){
        super(message);
    }
}
end
  • 作者:UG666(联系作者)
  • 发表时间:2022-12-27 21:42
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:如果是转载博主转载的文章,请附上原文链接
  • 评论