在VBScript中处理错误?

在VBScript中处理错误?

问题描述:

我们有一些旧的传统VBScript代码需要某种错误处理。以前从未使用过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 

不断抛出异常,而我需要的代码继续运行,当它击中了错误,而不是停止。我怎样才能做到这一点?

要忽略的错误,这会导致其部分前加On Error Resume Next。要禁用“resume next”的效果,请使用On Error Goto 0

+0

通过在ASP Free上阅读我的文章,您可以在VBScript中了解更多关于错误陷印的信息。 http://www.aspfree.com/c/a/Windows-Scripting/Error-Trapping-and-Capturing-ThirdParty-Output-in-WSH/ – Nilpo 2012-01-10 17:11:28

为了让代码保持运行的快速和非常肮脏的方式,您可以将On Error Resume Next添加到文件的顶部,并且当它遇到错误时执行将会愉快地继续。

我对这项技术有一点实践,但AFAIK vbscript只有一种方法来处理运行时异常:On Error Resume Next

你可以阅读这些文章:MSDN article,更有助于我about handling and notifying.