If err.number<>0 then errNum = Err.Number errDesc = Err.Description Call G00B02logOut("Error.002", errNum ,errDesc ) End If If err.number<>0 then errNum = Err.Number errDesc = Err.Description Call G00B02logOut("Error.002", errNum ,errDesc ) End If
这样可以捕获到错误代码和错误的描述信息,并写入日志文件。然 而,有个问题是,在我们捕获了这个错误之后的代码,如果再出现错误而你没有捕获的话,代码仍然会忽略错误继续运行。忽略错误是我们不希望看到的结果,将导致程序调试困难。此时可以使用 On Error GoTo 0 这句来终止前面错误处理,即可以和on error resume next 成对出现。这样就不会影响后面的代码了。
复制代码 代码如下:
on error resume Next 。。。 'DB operate。。 。。。 If err.number<>0 then errNum = Err.Number errDesc = Err.Description Call G00B02logOut("Error.002", errNum ,errDesc ) End If On Error Goto 0 on error resume Next 。。。 'DB operate。。 。。。 If err.number<>0 then errNum = Err.Number errDesc = Err.Description Call G00B02logOut("Error.002", errNum ,errDesc ) End If On Error Goto 0
funcb ‘函数调用 If err.Number <> 0 Then errNum = Err.Number errDesc = Err.Description WScript.Echo errNum & " - " & errDesc End If WScript.Echo "main ...." Sub funcb ‘函数定义 On error resume Next aaaaaaaaaaaa '无效语句 WScript.Echo "funcb ok" If err.Number <> 0 Then errNum = Err.Number errDesc = Err.Description WScript.Echo errNum & " - " & errDesc End If End Sub funcb ‘函数调用 If err.Number <> 0 Then errNum = Err.Number errDesc = Err.Description WScript.Echo errNum & " - " & errDesc End If WScript.Echo "main ...." Sub funcb ‘函数定义 On error resume Next aaaaaaaaaaaa '无效语句 WScript.Echo "funcb ok" If err.Number <> 0 Then errNum = Err.Number errDesc = Err.Description WScript.Echo errNum & " - " & errDesc End If End Sub