Frage

habe bereits über die MSDN-Hilfe-Dokumente läuft ein Dreh Visual Basic zu erhalten. Nach dem Versuch, das Beispiel mit Timer aus --one ein Etikett und Timer-Komponente in den Designer zieht und fügt die folgenden an die Komponenten-Unterprogramm

Label1.Text = My.Computer.Clock.LocalTime.ToLongTimeString

Der Ausgang für die sofortigen Fenster während debug ist die folgende

  

Eine erste Chance Ausnahme des Typs   ‚System.InvalidCastException‘ aufgetreten   in Microsoft.VisualBasic.dll   
  Ein erster   Chance Ausnahme des Typs   ‚System.InvalidCastException‘ aufgetreten   in Microsoft.VisualBasic.dll

Der gleiche Fehler tritt auf einem vorherigen MSDN Beispiel eine Kontextmenü-Komponente. Sollte ich Try...Catch...Finally diesen Fehler und versuchen, sich zu bewegen? Oder bin ich mit etwas viel ernster zu tun?

War es hilfreich?

Lösung

Wenn Sie etwas über eine erste Chance zu sehen, es bedeutet nur, dass eine Ausnahme innerhalb des Codes gefangen wurde Du genannt, aber nicht notwendigerweise bedeutet, dass der Code fehlgeschlagen. Wenn der Code ausgeführt wird, ohne Ihr Programm verursacht einen gültigen Wert zum Absturz zu bringen und gibt, dann hat kein Problem. Sie werden auch die Ausgabe im Debug-Fenster über erste Chance Ausnahmen sehen, wenn Sie Ihre eigenen try / catch-Blöcke implementieren.

Andere Tipps

In dem Debug-Menü -> Ausnahmen, können Sie den Debugger aktivieren zu stoppen, wenn eine Exception zuerst ausgelöst wird, auch wenn es später gefangen werden würde; wenn Sie wollen herausfinden, was passiert ist, ist dies der einfachste Weg, es zu tun

In der ersten Chance Ausnahme der Details der Ausnahme überprüfen. Sie sollten einen Stapelrahmen / trace-Eigenschaft. Dort sollten Sie sehen, was die Fehlerzeile tritt auf. Dies sollte Ihnen helfen.

In der IDE versuchen Sie auf Extras> Optionen> Projekte und Lösungen> VB Defaults und Einstellung Option Strict auf ‚On‘ - dieser Fang Gießproblemen helfen kann, wenn Sie Ihr Projekt kompilieren, anstatt wenn Sie es ausführen

.

A 'erste Chance execption' bedeutet nicht unbedingt ein Problem in Ihrem Code haben. Es könnte die IDE oder der Compiler oder jede andere beteiligte Komponente angetroffen bedeuten und behandelt einen Fehler und in den Prozess der Debugger informiert wird und die Ausnahme von der sofortigen Fenster wird berichtet. Dies ist ein ausgezeichneter Beitrag zum Thema:

http://blogs.msdn.com/davidklinems /archive/2005/07/12/438061.aspx

Eine schnelle und einfache Lösung für Debug- und diag erste Chance Ausnahme ist:

AppDomain.CurrentDomain.FirstChanceException += CurrentDomainOnFirstChanceException;

und dann

private void CurrentDomainOnFirstChanceException(object sender, FirstChanceExceptionEventArgs firstChanceExceptionEventArgs)
    {
        if (firstChanceExceptionEventArgs.Exception is NullReferenceException)
        {
            // do your handling and debugging :)
        }
    }

Mehrere erste Chance während der Laufzeit können Sie die Leistung Ihrer Anwendung lahmlegen, weil die Ausnahmebehandlung ist teuer. Gerade in Web-Anwendungen. Sie können diesen Handler hinzufügen und sehen Sie spezifische erste Chance Ausnahmen und versuchen, sie zu vermeiden / korrigieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top