使用触发器文件ID检查Google云端硬盘中是否存在文件

时间:2017-09-16 12:11:07

标签: javascript google-apps-script triggers

我从触发器捕获文件ID并检查驱动器中是否存在文件。如果任何触发器关联文件丢失,或者如应用程序脚本openById文档(这很自然)中提到的那样,下面的脚本会抛出异常并突然终止脚本。我该如何克服这个问题?

function getForms() {
    try {
        var formsList = [];
        var triggers = ScriptApp.getProjectTriggers();
        for (var i = 0; i < triggers.length; i++) {
            var fid = triggers[i].getTriggerSourceId();
            if (fid) {
                var title = FormApp.openById(fid).getTitle() == "" ? "Untitled" : FormApp.openById(fid).getTitle();
                formsList.push([title, fid]);
            }
        }
        return formsList;
    } catch (e) {
        ;//catch errors
    }
}

1 个答案:

答案 0 :(得分:1)

您可以明智地使用try catch语句来避免Exception

try {
     if (fid) {
            var title = FormApp.openById(fid).getTitle() == "" ? "Untitled" : FormApp.openById(fid).getTitle();
            formsList.push([title, fid]);
        }
  } catch (e) {
    Logger.log(e.message);
  }

在无用的地方使用try catch for循环而不是外部