Moin moin
Ich bin gerade etwas am bearbeiten und suche nun Möglichkeiten wie ich dies ersetzen kann.
Das ganze Try/Catch ist ja nun nicht so toll, wie man immer liest. Hab nun lange damit verbracht irgendwie Antworten zu erhalten.
Frage: Wie kann ich an die Exception kommen ohne den Try / Catch Block um bei etwaigen unvorhersehbaren Fehlern eine Meldung ( Text, MSGBox oder wie auch immer ) auszugeben?
Es gibt ja diese "Hauptklasse" der Exception???
Vielleicht denke ich auch wieder in eine Falsche Richtung?
Ich habe mir eine Klasse geschrieben, welche mir die EX aus dem Catch in ein File schreibt. Soweit OK nun ich muss halt immer den TC-Block bauen.
Mein kleines Test-Programm wo meine Klasse als dll eingebunden ist.
Spoiler anzeigen
Ich bin gerade etwas am bearbeiten und suche nun Möglichkeiten wie ich dies ersetzen kann.
Das ganze Try/Catch ist ja nun nicht so toll, wie man immer liest. Hab nun lange damit verbracht irgendwie Antworten zu erhalten.
Frage: Wie kann ich an die Exception kommen ohne den Try / Catch Block um bei etwaigen unvorhersehbaren Fehlern eine Meldung ( Text, MSGBox oder wie auch immer ) auszugeben?
Es gibt ja diese "Hauptklasse" der Exception???
Vielleicht denke ich auch wieder in eine Falsche Richtung?
Ich habe mir eine Klasse geschrieben, welche mir die EX aus dem Catch in ein File schreibt. Soweit OK nun ich muss halt immer den TC-Block bauen.
Mein kleines Test-Programm wo meine Klasse als dll eingebunden ist.
VB.NET-Quellcode
-
- Imports EERecorder
- Public Class Form1
- Private WithEvents logger As New EventExceptionRecorder.eerHandler()
- Public Sub New()
- InitializeComponent()
- ' Setze das LogFormat
- logger.SetLogFormat(EventExceptionRecorder.LogFormat.txt)
- ' Setze das Mindest-Log-Level
- logger.MinLogLevel = EventExceptionRecorder.LogLevel.Info
- ' Event verarbeiten
- AddHandler logger.LogAdded, AddressOf HandleLogAdded
- ' Testausgaben
- Console.WriteLine("Das LogFormat steht auf: " & logger.LogFormat.ToString)
- Console.WriteLine("Der Mindest-logLevel steht bei: " & logger.MinLogLevel.ToString)
- End Sub
- Private Sub HandleLogAdded(ByVal logEntry As String, ByVal category As String)
- ' Vergleiche den LogLevel & setze ab welchem LogLevel MSG-Boxen etc. kommen
- Dim logLevelCategory As EventExceptionRecorder.LogLevel
- If [Enum].TryParse(category, logLevelCategory) AndAlso logLevelCategory >= EventExceptionRecorder.LogLevel.Success Then
- Dim LogMessage As String = "Neuer Log-Eintrag:" & String.Format("{0}", Environment.NewLine & String.Format("{0}", logEntry))
- MessageBox.Show(LogMessage, "Meldung vom EE-Recorder", MessageBoxButtons.OK, MessageBoxIcon.Information)
- End If
- End Sub
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- ' Testausgaben
- lblLogLevel.Text = logger.MinLogLevel.ToString
- lblLogFormat.Text = logger.LogFormat.ToString
- ' Eine Debug Meldung produzieren
- logger.AddLogEntry(EventExceptionRecorder.LogLevel.Debug, "Das LogFormat steht auf: " & logger.LogFormat.ToString)
- ' Eine Erfolg Meldung mit eigener Message produzieren
- logger.AddLogEntry(EventExceptionRecorder.LogLevel.Success, "Eine Erfolgsmeldung ")
- ' Eine Exception produzieren
- Try
- Dim X As Integer = 2
- Dim Y As Integer = 0
- Dim Z As Integer = CInt(X / Y)
- Console.WriteLine(Z)
- Catch ex As Exception
- logger.LogException(ex, EventExceptionRecorder.ExceptionDetail.Message)
- logger.LogException(ex, EventExceptionRecorder.ExceptionDetail.Source)
- logger.LogException(ex, EventExceptionRecorder.ExceptionDetail.StackTrace)
- End Try
- End Sub
- End Class
Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen.