2015-05-12 2 views
0

I, m triyng, чтобы создать папку, если она не существует, и я использую try/catch, но несколько дней назад перестала работать. Это код. Большое спасибо.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: не может вызвать метод "CreateFile" с неопределенным.

Проблема в том, что сценарий останавливается в catch (e), и это не выполняется.

+1

Эта ошибка сообщает вам, что никакая папка не найдена 'getFolderById (alumnospathid)'. Вы не показываете, как вы получаете «alumnospathid», но это то, что вам нужно исследовать. – Mogsdad

+2

также: почему у вас есть 2 «catch (e)» в вашем коде? –

ответ

0

Если только alumno2 переменная строкового типа, то эта строка:

if (folderalumno == alumno2) { 

вероятно, никогда не оценивать как истинные, и, следовательно, не получают файла и папки ID.

если alumno2 это имя папки, которую вы хотите, код должен быть:

if (folderalumno == "alumno2") { 

помещается в кавычки.

Смежные вопросы