改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...

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

相关推荐
chao_7892 小时前
针对“仅某个地区出现Bug”的原因分析与解决方案
测试用例·bug
帅帅哥的兜兜2 小时前
Bug问题
bug
养意2 小时前
git提交代码和解决冲突修复bug
git·bug
东方不败之鸭梨的测试笔记17 小时前
20250605车充安服务器受木马攻击导致服务不可用
bug
Htht11117 小时前
【Qt】之【Get√】【Bug】通过值捕获(或 const 引用捕获)传进 lambda,会默认复制成 const
数据库·bug
前端发现20 小时前
如何用 pnpm patch 给 element-plus 打补丁修复线上 bug(以 2.4.4 修复 PR#15197 为例)
bug
可乐鸡翅好好吃2 天前
通过BUG(prvIdleTask、pxTasksWaitingTerminatio不断跳转问题)了解空闲函数(prvIdleTask)和TCB
c语言·stm32·单片机·嵌入式硬件·bug·keil
神膘护体小月半2 天前
bug 记录 - 使用 el-dialog 的 before-close 的坑
前端·javascript·bug
顽强d石头2 天前
bug:undefined is not iterable (cannot read property Symbol(Symbol.iterator))
前端·bug
阿松のblog3 天前
opencv使用经典bug
人工智能·opencv·bug