Javascript 自Google脚本V8更新后出现搜索模式错误
自从google强制更新“这个项目是在我们新的应用程序脚本运行时上运行的,由ChromeV8驱动。”我得到了以下错误,我不明白为什么 “异常:无效参数:recreateReferral处的searchPattern(recreateReferral:82:13)” 下面是代码片段:第82行以newBody开头Javascript 自Google脚本V8更新后出现搜索模式错误,javascript,google-apps-script,v8,Javascript,Google Apps Script,V8,自从google强制更新“这个项目是在我们新的应用程序脚本运行时上运行的,由ChromeV8驱动。”我得到了以下错误,我不明白为什么 “异常:无效参数:recreateReferral处的searchPattern(recreateReferral:82:13)” 下面是代码片段:第82行以newBody开头 for(i = 0; i <=16; i++) { newBody.replaceText(fields[0][i], newData[0][i]); } for(i=0;i可能的
for(i = 0; i <=16; i++) {
newBody.replaceText(fields[0][i], newData[0][i]);
}
for(i=0;i可能的原因):
- 原始rhino脚本有缺陷,因为它没有检查参数的类型
字段[0][i]
和新数据[0][i]
- 空字符串
“
和null
也会引发此错误
解决方案:
- 强制转换类型并检查参数的长度,然后将其馈送到
replaceText()
片段:
我猜出来了。正如上面有人说的,是绳子的空部分
谢谢!字段[0][i]的值是多少
?请添加一个。关于这类错误,似乎存在一些问题,但老实说,这些报告不是很具体,我怀疑它们很难复制,因此最好将其作为一个问题报告,但请向他们提供比您提供给我们的信息多得多的信息。感谢您的回答。我感觉您可以在这里提供一些见解。@Cooper我仍然不确定这是否是类型错误
。因此,请谨慎使用解决方案。@Cooper我认为我找到了它。经过测试并确认它主要是由于空字符串引起的。对于混淆,我深表歉意。
if (String(fields[0][i]).length){
newBody.replaceText(String(fields[0][i]), String(newData[0][i]));
}