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

try catch 解决大问题

项目开发中遇到一个棘手的bug,react前端项目独自运行时一切正常,但是把项目集成到使用wujie的大平台微前端项目中之后,突然有个地方无故报错,导致程序运行停止,后续的方法不再执行。报错如下:

DOMException: Failed to execute 'querySelector' on 'Document': '#13' is not a valid selector.at Object.apply (http://localhost:5173/node_modules/.vite/deps/wujie-vue3.js?v=0186d2fe:3211:137)at new n.fn.init (<anonymous>:3:24217)at n (<anonymous>:3:405)at l (<anonymous>:2:1940588)at HTMLDivElement.drop (<anonymous>:2:1941711)at t.<computed>.<computed>._trigger (<anonymous>:7:11090)at t.<computed>.<computed>._drop (<anonymous>:12:12603)at t.<computed>.<computed>._drop (<anonymous>:7:4499)at t.<computed>.<computed>.<anonymous> (<anonymous>:12:14717)at Function.each (<anonymous>:3:2882) 'error'

报错部分的代码如下

    //防止节点id重复   type 节点类型, num 当前顺序号function judgeId(type, num) {let id = type + numlet domstry {doms = $('#' + id)if (doms.length !== 0) {TuoZhuaiFangId = num + 1return judgeId(type, TuoZhuaiFangId)}} catch (error) {console.log(error,"error")}return type + num}

上网查询一大圈之后,发现可能是由于wujie把getElementbyId的方法自动转换成了querySelector而,querySelector方法不允许查找由纯数字组成的id名称,否则就会报错。试了一大堆方法,都无法解决这个报错,最后经过前端组长提醒,可用try catch捕获异常、抛出错误,果然加上try catch后问题解决,报错不再影响后续代码执行。又是血淋淋的教训,研究了半天的问题,加个try catch轻松解决。这个教训提醒我还是经验不足,遇到问题解决思路太过局限!以后遇到问题又多出一条解决思路,那就使用try catch抛出异常!

http://www.lryc.cn/news/397308.html

相关文章:

  • 手动解析Collection
  • list模拟实现【C++】
  • nginx正向代理、反向代理、负载均衡
  • matlab 有倾斜的椭圆函数图像绘制
  • PTK是如何加密WLAN单播数据帧的?
  • Django之登录权限系统
  • rust way step 1
  • 视觉语言模型导论:这篇论文能成为你进军VLM的第一步
  • Postman工具基本使用
  • uni-app三部曲之三: 路由拦截
  • 专注于国产FPGA芯片研发的异格技术Pre-A+轮融资,博将控股再次投资
  • 【python】QWidget父子关系,控件显示优先级原理剖析与应用实战演练
  • CTF php RCE(三)
  • Android 注解的语法原理和使用方法
  • YOLOv10改进 | Conv篇 | 利用FasterBlock二次创新C2f提出一种全新的结构(全网独家首发,参数量下降70W)
  • 实验-ENSP实现防火墙区域策略与用户管理
  • 【游戏客户端】大话slg玩法架构(二)背景地图
  • git-工作场景
  • coco dataset标签数据结构(json文件)
  • GaussDB关键技术原理:高性能(四)
  • 总结之企业微信(一)——创建外部群二维码,用户扫码入群
  • 透视数据治理:企业如何衡量数据治理的效果?
  • ERC20查询操作--获取ERC20 Token的余额
  • Linux运维:MySQL中间件代理服务器,mycat读写分离应用实验
  • css文字自适应宽度动态出现省略号...
  • 边缘计算盒子_B100_Jetson Nano (aarch64)开发环境搭建
  • 【Superset】dashboard 自定义URL
  • 【Linux网络】IP协议{初识/报头/分片/网段划分/子网掩码/私网公网IP/认识网络世界/路由表}
  • 香蕉派BPI-Wifi6迷你路由器公开发售
  • WPF-控件样式设置