Обработка ошибок в VBScript? - PullRequest
       28

Обработка ошибок в VBScript?

2 голосов
/ 09 января 2012

Есть какой-то старый унаследованный код VBScript, который нуждается в некоторой обработке ошибок. Никогда раньше не использовал vbscript, я в полной растерянности. Вот код:

set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkload.4.0")
objBL.ConnectionString = "connectionstring"
objBL.KeepIdentity = false
objBL.ErrorLogFile = "E:\code\Acquity\WebOrderImport\logs\error.log"

Set fso = CreateObject("Scripting.FileSystemObject")
Set parentfolder = fso.GetFolder("E:\textdata\Acquity\AcquityWebOrders")  
Set logfile = fso.OpenTextFile("E:\code\Acquity\WebOrderImport\logs\import.log",8)
count = 0
    For each folder in parentfolder.subfolders
        logfile.writeline count & " files"
        logfile.writeline "Processing " & folder.name & " ***********************************" & now()
        count = 1
        For Each file in folder.files
            If left(file.name,6) = "Order_" then
                If left(file.name,13) = previous then
                    logfile.writeline "!!!!! SKIPPING file " & file.name & "!!!!! DUPED ORDER ID"
                Else
                    logfile.writeline "reading " & file.name        
                    objBL.Execute "E:\code\Acquity\WebOrderImport\acq_WebOrder_import.xsd", file.path                   
                    count=count+1
                End If  
            previous = left(file.name,13)
            End If
        Next
    Next    

set objBL=Nothing
logfile.writeline "Done!"
Set logfile = nothing
Set parentfolder = nothing
set fso = nothing

Я уверен, что эта строка:

bjBL.Execute "E:\code\Acquity\WebOrderImport\acq_WebOrder_import.xsd", file.path

продолжает генерировать исключения, и мне нужно, чтобы код продолжал работать, когда он обнаруживает ошибку, а не останавливается. Как я могу это сделать?

Ответы [ 3 ]

5 голосов
/ 09 января 2012

Чтобы игнорировать ошибки, добавьте On Error Resume Next перед той частью, которая может их вызвать.Чтобы отключить эффект «возобновить следующее», используйте On Error Goto 0.

3 голосов
/ 09 января 2012

Для быстрого и (очень) грязного способа заставить код продолжать работать, вы можете добавить On Error Resume Next в начало файла, и выполнение будет успешно продолжено, когда он обнаружит ошибку.

2 голосов
/ 09 января 2012

У меня есть небольшая практика с этой технологией, но AFAIK vbscript имеет только один способ обработки исключений времени выполнения: On Error Resume Next.

Вы можете прочитать эти статьи: Статья MSDN идля меня более полезно об обработке и уведомлении.

...