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
這樣可以捕獲到錯(cuò)誤代碼和錯(cuò)誤的描述信息,并寫入日志文件。然 而,有個(gè)問題是,在我們捕獲了這個(gè)錯(cuò)誤之后的代碼,如果再出現(xiàn)錯(cuò)誤而你沒有捕獲的話,代碼仍然會(huì)忽略錯(cuò)誤繼續(xù)運(yùn)行。忽略錯(cuò)誤是我們不希望看到的結(jié)果,將導(dǎo)致程序調(diào)試?yán)щy。此時(shí)可以使用 On Error GoTo 0 這句來終止前面錯(cuò)誤處理,即可以和on error resume next 成對(duì)出現(xiàn)。這樣就不會(huì)影響后面的代碼了。
復(fù)制代碼 代碼如下:
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 ‘函數(shù)調(diào)用 If err.Number <> 0 Then errNum = Err.Number errDesc = Err.Description WScript.Echo errNum & " - " & errDesc End If WScript.Echo "main ...." Sub funcb ‘函數(shù)定義 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 ‘函數(shù)調(diào)用 If err.Number <> 0 Then errNum = Err.Number errDesc = Err.Description WScript.Echo errNum & " - " & errDesc End If WScript.Echo "main ...." Sub funcb ‘函數(shù)定義 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