Moin zusammen,
ich habe ein
Dank dem @ErfinderDesRades und seinen Hilfestellungen zum Thema XML und seinen sonstigen Tutorials zum Thema typisiertes Dataset funktioniert auch alles wie geplant.
In der vorhandenen Software kann ich nun über Ribbon-Schaltflächen die Funktionalitäten des
Im "normalen" Betrieb werden eigentlich keine
Dennoch kommt es immer mal wieder zu Situationen, bzw. Konstellationen in denen
Aus diesem Grund würde ich die
Das Problem hierbei ist, dass ich nicht weis wie
Nach ausgiebiger Recherche bin ich bereits auf sowas gestoßen:
In Kombination mit sowas:
Problem ist, das er auch wenn eine
Eventuell platziere ich den Code auch einfach nur an der falschen Stelle?
Ich habe auch schon mal gelesen, dass diese Art von
Allerdings haben meine Tests, bei denen ich dieses Prozedere in einer
Ich habe in der
Nun meine Frage, wie gestalte ich die
ich habe ein
AddIn
für eine vorhandene Software geschrieben, welches in Form einer Klassenbibliothek
(dll) vorliegt und so durch die vorhandene Software beim StartUp
geladen wird.Dank dem @ErfinderDesRades und seinen Hilfestellungen zum Thema XML und seinen sonstigen Tutorials zum Thema typisiertes Dataset funktioniert auch alles wie geplant.
In der vorhandenen Software kann ich nun über Ribbon-Schaltflächen die Funktionalitäten des
AddIns
(dll) aufrufen. Die Funktionalitäten bestehen alle aus WinForms
, welche beim klick auf die Ribbon-Schaltflächen geöffnet werden.Im "normalen" Betrieb werden eigentlich keine
Exceptions
geworfen, bzw. fange ich alle bereits bekannten Exceptions und behandle sie entsprechend.Dennoch kommt es immer mal wieder zu Situationen, bzw. Konstellationen in denen
UnhandledExceptions
geworfen werden. Problem hierbei ist, das der Endanwender diese in der Regel einfach wegklickt und somit das Feedback nicht bei mir ankommt.Aus diesem Grund würde ich die
UnhandledExceptions
gerne protokollieren.Das Problem hierbei ist, dass ich nicht weis wie
Nach ausgiebiger Recherche bin ich bereits auf sowas gestoßen:
In Kombination mit sowas:
Problem ist, das er auch wenn eine
UnhandledException
geworfen wird, nicht den Sub
durchläuft und somit auch nicht protokolliert.Eventuell platziere ich den Code auch einfach nur an der falschen Stelle?
Ich habe auch schon mal gelesen, dass diese Art von
ExceptionHandling
nur in reinen WinFormsAnwendungen
möglich ist...Allerdings haben meine Tests, bei denen ich dieses Prozedere in einer
WinFormsAnwendung
ausprobiert habe auch nicht dazu geführt, das der Sub
aufgerufen wird.VB.NET-Quellcode
- Imports Microsoft.VisualBasic.ApplicationServices
- Namespace My
- ' Für MyApplication sind folgende Ereignisse verfügbar:
- ' Startup: Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst.
- ' Shutdown: Wird nach dem Schließen aller Anwendungsformulare ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung mit einem Fehler beendet wird.
- ' UnhandledException: Wird bei einem Ausnahmefehler ausgelöst.
- ' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn die Anwendung bereits aktiv ist.
- ' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst.
- Partial Friend Class MyApplication
- Private Sub MyApplication_UnhandledException(sender As Object, e As UnhandledExceptionEventArgs) Handles Me.UnhandledException
- ' Tue hier etwas mit der UnhandledException, z.B. protokollieren
- End Sub
- End Class
- End Namespace
Ich habe in der
WinFormsAnwendung
mit Option Strict Off
eine InvalidCastException
und eine StackOverflowException
ausgelöst und in beiden Fällen hat es den Sub
MyApplication_UnhandledException
nicht durchlaufen.Nun meine Frage, wie gestalte ich die
UnhandledException
Protokollierung richtig und ist dies in einer Klassenbibliothek
überhaupt möglich?