![]() |
Как создать лог-файл, если при запуске скрипта произошла ошибка?
Помогите, пожалуйста. Вот есть скрипт для отправки почты:
Код:
strEmail = "mail@mail.ru" К примеру, при отсутствии файла, который должен быть прикреплен, выдает ошибку: Код:
Script: C:\sendmail.vbs |
Цитата:
Цитата:
P.S. Логику: Цитата:
|
Цитата:
Код:
cscript "С:\sendmail.vbs">"C:\my.log" HTML код:
Microsoft (R) Windows Script Host Version 5.8 Цитата:
Код:
echo Dim objFSO |
Цитата:
Код:
cscript.exe "С:\sendmail.vbs" 2>"C:\my.log" |
Цитата:
Код:
SET f=%~dp0 А вообще я не удачный пример привел на счет отсутствия файла. Основная причина, по которой мне надо вести лог ошибки, это когда вообще скрипт не может отработать нормально. Вот например такая ошибка на некоторых компьютерах возникает: Скрытый текст
![]() И пока не знаю как она решается (( |
Цитата:
Цитата:
Код:
Option Explicit P.S. При использовании механизма перенаправления потока ошибок, описанного выше, стоит писать именно туда, т.е., не: Код:
WScript.Echo "Can't create object [CDO.Message]" Код:
WScript.StdErr.WriteLine "Can't create object [CDO.Message]" |
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Код:
C:\sendmail.vbs(16, 1) CDO.Message.1: The system cannot find the file specified. |
Цитата:
Ещё раз повторю: сделайте проверку существования файла в самом скрипте. Это будет проще. |
Цитата:
Код:
on error resume next Код:
cscript "H:\ARCHIVE\Sendmail.vbs" 2>"H:\ARCHIVE\Sendmail_log2.txt"" Цитата:
|
Цитата:
«On Error Resume Next» должно находиться перед командой, которая может вызвать ошибку, а не в начале скрипта. Обработка ошибки должна происходить сразу же после команды, которая может вызвать ошибку, и сразу же следом — включение стандартной процедуры обработки ошибок («On Error Goto 0»). |
Время: 04:55. |
Время: 04:55.
© OSzone.net 2001-