Meine aktuelle Installation von Visual Studio 2015 erlaubt es mir nicht, eine nicht behandelte Ausnahme beim Ausführen von Code aus der IDE zu werfen. Ich mag nicht behandelte Ausnahme Code auszuüben, aber meinen Code:Debuggen der Behandlung der Behandlung von Ausnahmebehandlungen
Private Sub btnTest_Click(sender As System.Object, e As System.EventArgs) Handles btnTest.Click
Throw New System.Exception("An unhandled test exception has occurred.")
End Sub
nur während einer normalen Laufzeit funktioniert, nicht, wenn der Code in der IDE ausgeführt wird.
Wie kann ich meinen unbehandelten Ausnahmecode in der IDE debuggen?
Ich schaute in Debug, Windows, Ausnahmeeinstellungen, aber ich sehe keinen Weg zu tun, was ich tun möchte. Gibt es noch eine weitere globale Einstellung, die eine nicht behandelte Ausnahme ermöglicht, ohne dass die IDE die Ausnahme erfasst?
Ich bin mit dem ApplicationsEvents.vb das Ereignis Haken:
Namespace My
' The following events are available for MyApplication:
'
' Startup: Raised when the application starts, before the startup form is created.
' Shutdown: Raised after all application forms are closed. This event is not raised if the application terminates abnormally.
' UnhandledException: Raised if the application encounters an unhandled exception.
' StartupNextInstance: Raised when launching a single-instance application and the application is already active.
' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected.
Partial Friend Class MyApplication
Private Sub MyApplication_UnhandledException(sender As Object, e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
ExpLog.LogUnhandledException(e, sender)
e.ExitApplication = Not ExpLog.InformUser
End Sub
End Class
End Namespace
Resolution wurde ein Test Stub zu erstellen, die den Code ausgeübt, die vom Handler aufgerufen wurde:
Dies ermöglicht nicht das Testen des Handlers, aber es übt den Code aus, den der Handler aufruft. Ein Blick auf einige alte Kommentare dachte ich, das aus fünf + Jahren ... :(
Mein 'bntTest_Click' Code befindet sich auf einem Kind Form innerhalb eines übergeordneten MDI-Formular. – rheitzman
Nach Wenn ich die Bearbeitung in ApplicationEvents sehe, ist das anders als die Art, wie ich den Handler hinzugefügt habe. Ich habe Ihren Code ausprobiert und bestätigt, dass er nicht funktioniert. Versuchen Sie, wie möglich. – djv
Ich habe versucht, die Testausnahme vom MDI-Container zu werfen) und es scheitert auch. Ihr Weg arbeitete an einem eigenständigen Formular, aber ich muss die unbehandelten Ereignisse auf der Anwendungsebene erfassen, da ich eine Mischung aus Standalone- und MDI-Child-Formularen habe. – rheitzman