Javascript 在Google Apps脚本中循环,处理错误,致命错误,停止脚本,循环停止
我正在使用谷歌应用程序脚本 我有一个谷歌表,其中第1列有120个域名(120行),我需要在第7列将这些域名的状态写为“域名已验证”/“域名未验证” 我编写了一个脚本,它使用AdminDirectory API服务和AdminDirectory.get.domains.verified来检查域的状态,看看它们是否是google中经过验证的域 我下面的脚本工作得非常好,它检查每个域名行,并将状态设置为第7列中的任何一行,但是问题是,我的循环在到达任何尚未在Google中注册的域时立即停止,在日志中它说“执行失败:找不到域。(第36行,文件“代码”)[1.412秒总运行时间]” 无论结果如何,我都希望它一直运行到最后一行(第120行) 我真正想要的是,不管结果如何,我的循环应该覆盖所有120行,你能帮忙吗 这是我的剧本-:Javascript 在Google Apps脚本中循环,处理错误,致命错误,停止脚本,循环停止,javascript,loops,for-loop,google-apps-script,Javascript,Loops,For Loop,Google Apps Script,我正在使用谷歌应用程序脚本 我有一个谷歌表,其中第1列有120个域名(120行),我需要在第7列将这些域名的状态写为“域名已验证”/“域名未验证” 我编写了一个脚本,它使用AdminDirectory API服务和AdminDirectory.get.domains.verified来检查域的状态,看看它们是否是google中经过验证的域 我下面的脚本工作得非常好,它检查每个域名行,并将状态设置为第7列中的任何一行,但是问题是,我的循环在到达任何尚未在Google中注册的域时立即停止,在日志中它
function domainList() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getActiveSheet()
var data = sheet.getRange("B2:B").getValues()
var customer = "my_customer"
for(i=0; i<data.length; i++){
var dcheck = AdminDirectory.Domains.get(customer, data[i]);
var status = dcheck.verified
if(status === true){
status = "Domain Verified"}
else if(status === false){
status = "Domain Not Verified"}
else if(status === ({})){
continue;
}
Logger.log(status)
var range = ss.getSheets()[0].getRange(2+i, 7).clear()
var range = ss.getSheets()[0].getRange(2+i, 7)
range.setValue(status)
}}
函数域列表(){
var ss=SpreadsheetApp.getActiveSpreadsheet()
var sheet=ss.getActiveSheet()
var data=sheet.getRange(“B2:B”).getValues()
var customer=“我的客户”
对于(i=0;i您可以尝试将部分代码放入try/catch
中,如果出现错误,只需继续循环:
try {
var dcheck = AdminDirectory.Domains.get(customer, data[i]);
if (dcheck) {//Check for truthy value
var status = dcheck.verified;
} else {
continue;//If "get" returned a falsy value then continue
}
} catch(e) {
continue;//If error continue looping
}
下面是做同样事情的另一种方法。我不清楚这是什么if(status===({}))
,因此我认为将第三种选择的范围缩小一点可能会很有趣,因为如果期望它是布尔型的,并且它既不是真的也不是假的,那么我就不清楚还剩下什么。这可能需要一段时间,但我会尝试使用调试器来完成。但我不熟悉AdminDirectory,所以我有点奇怪在这里
function domainList()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var data = sheet.getRange("B2:B").getValues();
var customer = "my_customer";
var value = '';
for(i=0; i<data.length; i++)
{
value = '';
var dcheck = AdminDirectory.Domains.get(customer, data[i]);
var status = dcheck.verified;
switch(status)
{
case true:
value = 'Domain Verified';
break;
case false:
value = 'Domain Not Verified';
break;
default:
value = 'unknown';
}
Logger.log(status);
var range = ss.getSheets()[0].getRange(2+i, 7)
range.clear();
range.setValue(value);
}
}
函数域列表()
{
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
var数据=sheet.getRange(“B2:B”).getValues();
var customer=“我的客户”;
var值=“”;
对于(i=0;i