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