我从触发器捕获文件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
}
}
答案 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循环而不是外部