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

网站广告条素材打完疫苗发烧怎么处理

网站广告条素材,打完疫苗发烧怎么处理,aso优化什么意思是,河北省正定县城乡建设网站背景 在我毕业的第一年过程中#xff0c;底层数据交互的对象一般都是自己的DB#xff0c;基本上没有从第三方获取过数据#xff0c;所以也没有封装过这部分的工具类。直到前段时间#xff0c;新增的应用中需要大量获取三方数据#xff0c;基本上没有DB发挥的余地 规规矩矩…背景 在我毕业的第一年过程中底层数据交互的对象一般都是自己的DB基本上没有从第三方获取过数据所以也没有封装过这部分的工具类。直到前段时间新增的应用中需要大量获取三方数据基本上没有DB发挥的余地 规规矩矩的写法 最初是通过try catch 的普遍写法进行code但是写久了之后就发现每回都需要写try catch等异常捕获的代码显得代码很冗余也很费时费事例如下面的代码 public void test(InDTO inDto) {if (Objects.isNull(inDto)) {throw new FxException(NOT_NULL_VALID);}ParamInDTO request buildReqParam(inDto);ResultBoolean result new Result();try {//三方调用result testService.test(request);if (!result.isSuccess()) {log.error(test result.getMessage();throw new Exception(HSF_FAIL_UN_CHOICE_PRODUCT, result.getMessage());}} catch (Throwable throwable) {log.error(test result.getMessage();throw new FxException(HSF_FAIL_UN_CHOICE_PRODUCT , throwable , result.getMessage());}} 上面的代码写一次还好两次也还行三次有点冗余了。到最后应用中到处都是tra catch和异常日志严重影响美观和代码的规范。对于上述代码可以把三方调用作为抽象点进行抽离形成一个工具类 优雅的写法 Slf4j public class WrapperUtil {public static R R doWrapper(SupplierR doFun, Object inParam) {R result null;try {result doFun.get();if (Objects.isNull(result)) {log.error(WrapperUtil.doWrapper, result is null , inParam{}, JSON.toJSONString(inParam));//自定义业务异常throw new FxException(ErrorCodeEnum.WRAPPER_HANDLE_FAIL_RESULT_EMPTY);}} catch (Throwable throwable) {log.error(WrapperUtil.doWrapper, result is exception , inParam{} , result{} , throwable{},JSON.toJSONString(inParam), JSON.toJSONString(result), JSON.toJSONString(throwable));boolean needRetry throwable instanceof HSFTimeOutException;throw new FxException(ErrorCodeEnum.WRAPPER_HANDLE_FAIL, throwable, needRetry);}return result;}public static R R doWrapper(SupplierR doFun, Object inParam, ErrorCodeEnum errorCodeEnum) {R result null;try {result doFun.get();if (Objects.isNull(result)) {log.error(WrapperUtil.doWrapper, result is null , inParam{}, JSON.toJSONString(inParam));//自定义业务异常throw new FxException(errorCodeEnum);}} catch (Throwable throwable) {log.error(WrapperUtil.doWrapper, result is exception , inParam{} , result{} , throwable{},JSON.toJSONString(inParam), JSON.toJSONString(result), JSON.toJSONString(throwable));boolean needRetry throwable instanceof HSFTimeOutException;throw new FxException(errorCodeEnum, throwable, needRetry);}return result;}public static void doWrapperValid(boolean isFail, String errorMsg, ErrorCodeEnum errorCodeEnum, Object inParam, Object outParam) {if (isFail) {log.error(errorMsg, inParam.toString(), outParam.toString());throw new FxException(errorCodeEnum);}}}如何进行优雅的调用 public void testWrapperUtil(InDTO inDto){ValidUtil.notNull(inDto);ParamInDTO request buildReqParam(inDto);ResultBoolean result WrapperUtil.doWrapper(() - testService.test(request), request);WrapperUtil.doWrapperValid(result.isFail(), 查询XXX失败, ErrorCodeEnum.USER_ROLE_DELETE_ERROR, inDto, result);}); }
http://www.sadfv.cn/news/368979/

相关文章:

  • 网站备案查询 怎么弄互联网人工智能
  • 网站建设亇金手指排名十四线上引流的八种推广方式
  • 北京 网站建设咨询顾问公司wordpress跳转后端IP
  • 如何找百度做网站自己有网站做app吗
  • 目前做公司网站有没有用课程建设类教学成果奖网站
  • 网络推广 公司 200个网站南京建网科技有限公司
  • 做那个的网站品牌网鞋有哪些牌子
  • 有网址如何做网站赚钱丹阳网站推广
  • 内蒙古微网站建设网站短信验证怎么做
  • 陕西企业营销型网站安装好的 wordpress
  • 科讯cms 网站地图阿里云网站商城建设
  • 莆田专业网站建设公司黄岛网站建设设计公司
  • 专注徐州网站建设岳阳汨罗网站建设
  • 上海建站提供商wordpress 农场主题
  • 厦门网站推广优化哪家好泉州做网站工作室
  • 淘宝购物网站的建设中标公示查询网站
  • 天猫入驻网站建设wordpress 点不到子菜单
  • 用html做网站代码怎么建设个人博客网站
  • 网站自主建站wordpress增加主题配置
  • 网站建设语言学什么网站建设页面生成
  • 个性化网站建设定制单位做网站费用怎么记账
  • 长春网站建设网站源码什么是优化产业结构
  • 怎么学习做网站wordpress多站点功能
  • 使用rem布局的网站深圳极速网站建设服务器
  • 建设银行网站打印消费账单服装公司网页设计
  • 想学网站建设方向的研究生网站建设费用是什么科目
  • 广州比较好的网站设计国外网站流量
  • 一个网站怎么做2个服务器在哪进入网站后台
  • 郑州门户网站建设哪家好2018wordpress主题
  • 门户网站开发申请网站建设相关技术方案