bastiglasl
Erfahrenes Mitglied
Mahlzeit!
Ich hab mir eine kleine function geschrieben, die exceptions abfangen und loggen soll. Ich hab nur ein Problem, wenn die Log-Datei noch nicht existiert und sie angelegt werden soll. Dabei bekomme ich immer den Fehler "Datei im Zugriff".
Ich poste euch einfach mal die Function und vielleicht kommt ihr drauf, was ich mit der Log-Datei falsch mache...
Ich hab mir eine kleine function geschrieben, die exceptions abfangen und loggen soll. Ich hab nur ein Problem, wenn die Log-Datei noch nicht existiert und sie angelegt werden soll. Dabei bekomme ich immer den Fehler "Datei im Zugriff".
Ich poste euch einfach mal die Function und vielleicht kommt ihr drauf, was ich mit der Log-Datei falsch mache...
Code:
Enum LoggingType As Integer ' die versch. Loggingtypen
Full = 2
LoggingOnly = 1
MessageOnly = 0
End Enum
Friend Function Errorhandling(ByVal sLogPfad As String, ByVal ex As Exception, ByVal sFenstertitel As String, _
Optional ByVal oLoggingArt As LoggingType = LoggingType.Full, Optional ByVal sZusatzinfo As String = "")
Dim srFehlerLog As System.IO.StreamWriter ' Der Streamwriter für das Errorlogging
If oLoggingArt <> LoggingType.LoggingOnly Then
MessageBox.Show("Fehler bei " & ex.Source & ControlChars.NewLine & ex.Message & ControlChars.NewLine & _
sZusatzinfo, sFenstertitel, MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
If oLoggingArt > LoggingType.MessageOnly Then
' Wenn eine Log-Datei erzeugt werden soll
If IO.File.Exists(sLogPfad) = False Then
IO.File.Create(sLogPfad)
End If
Try
srFehlerLog = New System.IO.StreamWriter(sLogPfad, True)
srFehlerLog.AutoFlush = True
srFehlerLog.WriteLine(Date.Now().ToString & "Fehler bei '" & sFenstertitel & "'")
srFehlerLog.WriteLine(sZusatzinfo)
srFehlerLog.WriteLine(ex.ToString)
srFehlerLog.Close()
Catch e As Exception
Errorhandling("", e, "Fehlerlogging", LoggingType.MessageOnly)
End Try
End If
End Function