2012-04-20 3 views
0

Пожалуйста, расскажите, как выйти из javascript (я запустил его на жестком диске), когда я использую оператор if. Следующий код не работает:Как выйти из скрипта, используя if else

if (fso.FileExists("C:\\EXT\\file.txt")) //check if there file in the folder 
      { 
    log.WriteLine(file_exist_time + " - file exists C:\\EXT\\ "); 
      } 
    else 
      { 
      log.WriteLine("There is no file in C:\\EXT\\"); 

          function exit() 
            { 
           throw ('Script Exit'); 
            } 

     } 

спасибо!

+3

Почему бы не просто «бросить» непосредственно после вызова журнала? Прямо сейчас вы просто определяете функцию с именем 'exit', но вы ее никогда не называете. –

+1

Работает ли «возврат»? – Tobi

+0

throw ('Exit') не работает. = ( – May12

ответ

0

Как насчет:

if (fso.FileExists("C:\\EXT\\file.txt")) //check if there file in the folder 
{ 
    log.WriteLine(file_exist_time + " - file exists C:\\EXT\\ "); 
} 
else 
{ 
    log.WriteLine("There is no file in C:\\EXT\\"); 
    return; 
    // Or possibly throw("Exit"); 
} 

Другими словами, не ставьте throw или return в отдельную функцию, особенно если вы не вызываете эту функцию.

+0

return and throw («Exit») не работает. Он работает: else { log.WriteLine («Нет файла в C: \\ EXT \\»); \t \t \t разрыв сверху, \t \t \t \t \t \t \t } – May12

1

Зачем использовать определение функции здесь? Вы даже не вызываете функцию. Вы можете просто сделать это:

if (fso.FileExists("C:\\EXT\\file.txt")){ //check if there file in the folder 
    log.WriteLine(file_exist_time + " - file exists C:\\EXT\\ "); 
} 
else{ 
    log.WriteLine("There is no file in C:\\EXT\\"); 
    throw('Script Exit'); 
} 

Однако throw в одиночку не остановить выполнение функции, она только перемещает его в catch -statement. Узнайте больше о exception handling.

1

Используйте WScript.Quit, чтобы полностью выйти из сценария.