请教下各位,
我在直接操作 package.loaded做代码的热更新时,遇到有一种情况是无法更新代码的。
代码A本身的描述如下:
1 代码A以require方式加载
2 代码A的语法没有问题(可以被require加载),但是代码A中某个分支下的语句有问题,执行到该分支会触发打印异常错误或被xpcall捕获
无法更新代码的场景如下:
请求触发了代码A的有问题的分支,导致xpcall捕获到异常或直接在error.log中打印了异常
然后利用package.loaded方式更新代码A,结果无效。
然后又测试了另一种场景可以正常更新代码A:
请求触发执行了代码A的某些代码,但是没有触发代码A中有异常的分支
然后利用package.loaded方式更新代码A,更新成功
在lua文档中找了相关的API,没找到比较相关的描述,求助各位~