2015-10-13 66 views
1

下面的脚本将失败,出现错误,我很满意。现在,我正在努力解决我的On Error GoTo <label>语法,它目前失败,出现以下错误。下面VB转到失败编译

Line: 2 
Char: 16 
Error: Syntax Error 
Code: 800A03EA 
Source: Microsoft VBScript compilation error 

代码:

Sub ComCheck 
    On Error GoTo ErrorHandler 

    Dim fortis 

    Wscript.Echo("Creating COM object.") 
    Set fortis = CreateObject("TESTCOM.APPLICATION") 

    Wscript.Echo("Write Database name.") 
    Wscript.Echo(fortis.Databases[0].Name) 

    GoTo ScriptEnd 

ErrorHandler: 
    Wscript.Echo("-------ERROR OCCURRED------") 
    Wscript.Echo("#" + Err.Number + "::" + Err.Description) 
    Err.Clear 

ScriptEnd: 
    Wscript.Echo("Script complete.") 

End Sub 

ComCheck() 

回答

3

这是VB和VBScript之间的差异之一:后者不支持GoTo <label>语法。在VBScript中只有两种可能性:

On Error Resume Next 

On Error Goto 0 

您在使用前给关闭的VBScript自己的错误处理(和你自己可能处理错误),而后者开启VBScript的错误处理(如果遇到错误,则停止所有执行)。

+0

不幸的。我已经习惯了VB世界,但是我已经被迫进入一个非IDE的土地来制作一个快速脚本,所以使用VBScript或者我曾经想过的更容易。谢谢! – steventnorris