VBScript, Error Handler funktioniert nicht!
Hallo zusammen,
ich bin gerade dabei, einen VBscript zu schreiben.
Jetzt möchte ich jedoch, dass er bei einem Error(egal wo!) keine Meldung zeigt, sondern direkt zum SUB ErrorHandler und dies in ein Error.log file sein Errror schreibt und anschliessend den Script beendet.
Ist das denn Möglich?
Mein Script ist momentan etwa 122 Zeilen lang, jedoch kann ich grob zeigen, was ich bereits probiert habe. Ich habe extra einen Fehler eingebaut, jedoch hat er nicht die Sub ErrorHandler aufgerufen und das gemacht, was dort steht.
Habt ihr eine Idee, wie ich das lösen kann?
Vielen Dank bereits im Voraus!
ich bin gerade dabei, einen VBscript zu schreiben.
Jetzt möchte ich jedoch, dass er bei einem Error(egal wo!) keine Meldung zeigt, sondern direkt zum SUB ErrorHandler und dies in ein Error.log file sein Errror schreibt und anschliessend den Script beendet.
Ist das denn Möglich?
Mein Script ist momentan etwa 122 Zeilen lang, jedoch kann ich grob zeigen, was ich bereits probiert habe. Ich habe extra einen Fehler eingebaut, jedoch hat er nicht die Sub ErrorHandler aufgerufen und das gemacht, was dort steht.
Habt ihr eine Idee, wie ich das lösen kann?
Option Explicit
On Error Resume Next
Dim objFSO
'File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Call Start(objFSO)
Sub Start(ByRef objFSO)
'macht irgendetwas
'macht irgendetwas
'macht irgendetwas
Call Create(objFSO)
If Err.Number <> 0 Then ErrorHandler(objFSO)
End Sub
Sub Create(ByRef objFSO)
'macht irgendetwas
'macht irgendetwas
'macht irgendetwas
If Err.Number <> 0 Then ErrorHandler(objFSO)
End Sub
Sub ErrorHandler(objFSO)
Dim objErrorLogFile, strErrorRootPath
strErrorRootPath = "D:\Error"
Set objErrorLogFile = objFSO.OpenTextFile(strErrorRootPath & "\" & "Error.log", 8, True)
objErrorLogFile.WriteLine("Error Number: " & Err.Number & vbCrLf & "Error Description: " & Err.Description)
objErrorLogFile.Close
Err.Clear
End Sub
Vielen Dank bereits im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 213235
Url: https://administrator.de/contentid/213235
Ausgedruckt am: 26.11.2024 um 14:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo netgearsdk.
Eine mögliche Ursache, falls das nicht dein Problem war:
Setze
Und (vermutlich nicht die Ursache, aber) wenn du
Grüße
rubberman
Ich habe extra einen Fehler eingebaut
Wenn das fehlende Sub
vor Start(ByRef objFSO)
dein eingebauter Fehler ist, dann kann es nicht funktionieren. Erst in der Start
Prozedur wird dein Errorhandler das erste mal aufgerufen. Start
selbst kann aber wegen des fehlenden Sub
gar nicht erst aufgerufen werden Eine mögliche Ursache, falls das nicht dein Problem war:
Setze
On Error Resume Next
nicht global, sondern für jede Subroutine separat.Und (vermutlich nicht die Ursache, aber) wenn du
objFSO
als globale Variable deklariert hast, macht es keinen Sinn sie an die Prozeduren zu übergeben. Sie ist dort gültig.Grüße
rubberman