【问题标题】:Try Catch don't work properly尝试 Catch 无法正常工作
【发布时间】:2015-05-12 10:20:50
【问题描述】:

如果文件夹不存在并且我正在使用 try/catch 但几天前已停止工作,我正在尝试创建一个文件夹。这是代码。非常感谢。

try {
var folders = alumnospath.getFolders();
while (folders.hasNext()) {
 var folderp = folders.next();
 var folderalumno = folderp.getName();
 if (folderalumno == alumno2) {
 var folderid = folderp.getId();
 var folder = DriveApp.getFolderById(folderid);}}}
catch (e){
var foldere = DriveApp.getFolderById(alumnospathid).createFolder(alumno2).getId();
var folder = alumnospath.getFolderById(foldere);} 

catch (e){
var foldere = DriveApp.getFolderById(alumnospathid).createFolder(alumno2).getId();
var folder = alumnospath.getFolderById(foldere);}
folder.createFile(pdf);

错误是(从西班牙语翻译):TypeError: can't call method "createFile" from undefined.

问题是脚本在 catch(e) 中停止并且没有执行。

【问题讨论】:

  • 该错误告诉您getFolderById(alumnospathid) 找不到文件夹。你没有展示你是如何得到alumnospathid的,但这是你需要调查的。
  • 还有:为什么你的代码中有 2 个“catch(e)”?

标签: google-apps-script try-catch


【解决方案1】:

除非alumno2是字符串类型的变量,那么这一行:

if (folderalumno == alumno2) {

可能永远不会评估为真,因此不会获得文件和文件夹 ID。

如果alumno2是你想要的文件夹的名字,代码应该是:

if (folderalumno == "alumno2") {

加引号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 2017-09-11
    相关资源
    最近更新 更多