改bug制造bug...

故事背景,我看打印输出有报错,于是加了一个容错。然后出现bug了,一个副本的机器人没了。反思问题所在,当我们去改别人的任何代码,都可能会出现bug,因为确实不知道别人的设计。

引出了另外一个奇怪的问题,就是他的代码在别人的电脑或其他环境是不会报错的。我当然是看到报错才去修改的,这代码在我这里确实报错了。代码如下

这个是我加的 if(not mbr)then return end

函数被return了,出现bug。

outlook = mbr and mbr.outlook,

这个确实是处理了容错,即使上面空也不会报错,我做过实验。。。

能正常运行。。。

bug肯定是我改出来的了,我们应该怎么避免这种情况。

我们容错应该是要兼容以前的流程,既然以前是不return的,那么是否应该报空给默认值会更好?

if(not mbr)then return end

改成

if(not mbr)then mbr={} end

怎么说呢,这样改并不能完全避免产生新的bug,比如本来别人只是报错了,属于正常报错。

加了默认值然后继续运行,下面可能扣钱或者加钱,那么就出现新的bug...

这个最稳只有去搞清楚这个函数是哪个功能,然后相关功能都测试一遍了。。。。

相关推荐
hui函数12 小时前
Python系列Bug修复PyCharm控制台pip install报错:如何解决 pip install 网络报错 企业网关拦截 User-Agent 问题
python·pycharm·bug
hui函数12 小时前
如何解决 pip install 代理报错 SOCKS5 握手失败 ReadTimeoutError 问题
bug·pip
f***241114 小时前
Bug悬案:程序员破案实录
bug
一条咸鱼_SaltyFish1 天前
[Day10] contract-management初期开发避坑指南:合同模块 DDD 架构规划的教训与调整
开发语言·经验分享·微服务·架构·bug·开源软件·ai编程
雒珣2 天前
qt界面和图片疯狂变大的bug问题
开发语言·qt·bug
天才测试猿2 天前
软件测试之bug分析定位技巧
软件测试·python·selenium·测试工具·职场和发展·测试用例·bug
zhz52142 天前
后端代码规范文档示例
重构·bug·代码规范·结对编程
luming-022 天前
java报错解决:sun.net.utils不存
java·经验分享·bug·.net·intellij-idea
星月心城3 天前
Element Plus 2.7.5 的 datetimerange 存在 is-disabled 误判 Bug(头部年份 / 月份被错误禁用)
bug
C语言不精3 天前
解决ESP出现MD5报错或验证芯片bug
嵌入式硬件·bug·esp32