当前位置: 首页 > wzjs >正文

PHP套模板做网站怎么在百度上做广告

PHP套模板做网站,怎么在百度上做广告,如何做网站淘客推广,福田网站制作比较好的自定义Validation验证器遇到的问题 抛出的异常没有能被指定的TaskValidException.class方法拦截到。故写这个原因 全局异常拦截只能拦截相同的异常。只能通过解析转入自定义的异常。自定义的异常继承的异常要是一家子的。如TaskValidException和ValidationException。这样就能在…

自定义Validation验证器遇到的问题

抛出的异常没有能被指定的TaskValidException.class方法拦截到。故写这个原因

  • 全局异常拦截只能拦截相同的异常。只能通过解析转入自定义的异常。
  • 自定义的异常继承的异常要是一家子的。如TaskValidException和ValidationException。这样就能在全局捕获到后能够解析出来

全局异常中通过拦截ValidationException来捕获我想要的异常

package com.tcmp.task.web.intercepter;import com.tcmp.task.api.constants.ErrMsg;
import com.tcmp.task.api.domain.BaseResultEntity;
import com.tcmp.task.api.domain.FailResultEntity;
import com.tcmp.task.api.exception.TaskValidException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;import javax.servlet.http.HttpServletRequest;
import javax.validation.ValidationException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;/*** 异常处理** @Author: zyy* @Date: Created on 9:36 2021/1/21.*/
@Slf4j
@RestControllerAdvice
public class GlobalExceptionInterceptor implements AsyncUncaughtExceptionHandler {/*** 校验异常** @param request* @param e* @return*/@ExceptionHandler({IllegalArgumentException.class})@ResponseBodypublic BaseResultEntity handleIllegalArgumentException(HttpServletRequest request, IllegalArgumentException e) {log.error("拦截到校验异常: {}, {}", request.getRequestURI(), e.getMessage(), e);return new FailResultEntity(e.getMessage());}/*** 校验异常** @param request 当前 HTTP 请求* @param e 包装的异常* @return 异常处理结果*/@ExceptionHandler({TaskValidException.class})@ResponseBodypublic BaseResultEntity handleTaskValidException(HttpServletRequest request, TaskValidException e) {log.error("拦截到校验异常: {}, {}", request.getRequestURI(), e.getMessage(), e);return new FailResultEntity(e.getErrorCode(), e.getErrorMessage());}/*** 处理 InvocationTargetException 异常。* InvocationTargetException 是在通过反射调用方法时抛出的异常,其实际原因可以通过 getCause() 方法获取。** @param request 当前的 HttpServletRequest 对象,用于获取请求的详细信息。* @param e 抛出的 InvocationTargetException 异常。* @return BaseResultEntity 对象,包含具体的错误信息。*         如果实际原因是 TaskValidException,则调用 handleTaskValidException 方法进行处理。*         否则,返回一个包含系统通用错误信息的 FailResultEntity。*/@ExceptionHandler(ValidationException.class)@ResponseBodypublic BaseResultEntity handleInvocationTargetException(HttpServletRequest request, ValidationException e) {Throwable cause = e.getCause();if (cause instanceof TaskValidException) {return handleTaskValidException(request, (TaskValidException) cause);}return new FailResultEntity(ErrMsg.SYS_ERROR);}/*** 处理业务异常** @param request* @param e* @return*/@ExceptionHandler({Exception.class})@ResponseBodypublic BaseResultEntity handleGenericException(HttpServletRequest request, Exception e) {log.error("拦截到通用异常: {}, {}", request.getRequestURI(), e.getMessage(), e);return new FailResultEntity(ErrMsg.SYS_ERROR);}@Overridepublic void handleUncaughtException(Throwable ex, Method method, Object... params) {log.error("异步方法执行异常: 方法名 - {}, 异常信息 - {}", method.getName(), ex.getMessage(), ex);// 可以在这里发送通知或者记录日志等操作}
}

定义的验证异常

package com.tcmp.task.api.exception;import com.tcmp.task.api.constants.ErrorCode;
import lombok.Data;import javax.validation.ValidationException;/***  ucenter 异常** @Author: zyy* @Date: Created on 13:36 2021/1/24.*/
@Data
public class TaskValidException extends ValidationException {private Integer errorCode;private String errorMessage;public TaskValidException(String errorMessage) {super(errorMessage);this.errorMessage = errorMessage;this.errorCode = ErrorCode.FAIL;}public TaskValidException(Integer errorCode, String errorMessage) {super(errorMessage);this.errorCode = errorCode;this.errorMessage = errorMessage;}}

自定义拦截验证器

package com.tcmp.task.api.validation;import com.tcmp.task.api.exception.TaskValidException;import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;import java.util.List;
public class NotEmptyTaskFieldValidator implements ConstraintValidator<NotEmptyTaskField, Object> {private String message;@Overridepublic void initialize(NotEmptyTaskField constraintAnnotation) {this.message = constraintAnnotation.message();}@Overridepublic boolean isValid(Object value, ConstraintValidatorContext context) {if (value == null) {throw new TaskValidException(this.message);}if (value instanceof String) {if (((String) value).isEmpty()) {throw new TaskValidException(this.message);}}if (value instanceof List) {if (((List<?>) value).isEmpty()) {throw new TaskValidException(this.message);}}return true;}
}

自定义验证注解

package com.tcmp.task.api.validation;import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Constraint(validatedBy = NotEmptyTaskFieldValidator.class)
@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface NotEmptyTaskField {String message() default "字段不能为空";Class<?>[] groups() default {};Class<? extends Payload>[] payload() default {};
}
http://www.dtcms.com/wzjs/155871.html

相关文章:

  • 微信如何投放广告东莞网站建设优化
  • 校园网上超市网站建设推广360公司官网首页
  • 展示网站和营销网站的区别b站推广
  • h5制作网站开发汉中网站seo
  • 彩票推广网站如何做希爱力跟万艾可哪个猛
  • 网站开发学什么比较有优势网络营销课程作业
  • 高端定制外贸网站全网关键词搜索
  • 建设工程许可证在那个网站办台州seo服务
  • 网站搜索框用ps怎么做bt兔子磁力天堂
  • 一般可以在哪些网站做推广百度百科官网登录
  • 成都企业门户网站建设免费刷赞网站推广免费
  • 商城网站建设服务seo研究中心怎么样
  • 柳市外贸网站建设厦门seo招聘
  • 展示型网站设计方案百度首页广告多少钱
  • 做网站赌博代理没有盈利违法吗竞价推广托管开户
  • 广西南宁做网站怎么申请一个网站
  • 优秀的企业网站设计百度站内搜索的方法
  • 公司网站建设有哪些正规教育培训机构
  • 东莞手机微信网站百度搜索排名靠前
  • 男子替人做赌博网站百度平台客服人工电话
  • b2b免费发布信息网站推广竞价托管公司
  • php做彩票网站网站优化方式有哪些
  • 中国军事世界排名百度网站排名优化价格
  • 营口做网站公司企业宣传视频
  • 北京高端网站建设咸阳苏州网络公司
  • 如何创建一个网站链接百度知道一下首页
  • 自助建站系统是怎么实现知名品牌营销策划案例
  • 怎么在网站中做弹窗广告搜狗登录入口
  • 怎么代码放到网站上软文推广多少钱
  • seo快速优化软件网站博客seo教程