Question

'ai été en cours d'exécution à travers les documents d'aide MSDN pour obtenir un coup de Visual Basic. Après avoir essayé l'exemple en utilisant des minuteries --one fait glisser un composant d'étiquette et de la minuterie dans le concepteur et ajoute ce qui suit à la sous-routine composants

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

La sortie de la fenêtre immédiate au cours de mise au point est la suivante

  

Une première chance exception de type   « System.InvalidCastException » eu lieu   en Microsoft.VisualBasic.dll   
  Un premier   hasard exception de type   « System.InvalidCastException » eu lieu   dans Microsoft.VisualBasic.dll

La même erreur se produit sur un exemple précédent MSDN en utilisant un composant de menu contextuel. Dois-je Try...Catch...Finally cette erreur et essayer de passer? Ou, je suis face à quelque chose de beaucoup plus grave?

Était-ce utile?

La solution

Quand vous voyez quelque chose sur une exception de première chance, cela signifie seulement qu'une exception a été pris dans le code que vous avez appelé, mais ne signifie pas nécessairement que le code a échoué. Si le code est exécuté sans que votre programme de tomber en panne et retourne une valeur valide, ne pose pas de problème. Vous verrez également la sortie dans la fenêtre de débogage sur les exceptions de première chance lorsque vous implémentez vos propres blocs try / catch.

Autres conseils

Dans le menu Debug -> Exceptions, vous pouvez activer le débogueur d'arrêter quand une exception est d'abord jeté, même si elle serait prise plus tard; si vous voulez savoir ce qui se passe, c'est la meilleure façon de le faire

Dans la première exception chance d'examiner les détails de l'exception. Vous devriez voir une propriété cadre pile / de trace. Là-dedans, vous devriez voir quelle ligne l'erreur se produit sur. Cela devrait vous aider.

Dans l'EDI essayez d'aller dans Outils> Options> Projets et Solutions> Valeurs par défaut VB et réglage Option Strict « On » - cela peut aider les problèmes de coulée de capture lorsque vous compilez votre projet plutôt que lorsque vous l'exécutez

.

A « première Execption chance » ne signifie pas nécessairement que vous avez un problème dans votre code. Cela pourrait signifier l'IDE ou le compilateur ou tout autre composant impliqué rencontré et manipulé une erreur et dans le processus, le débogueur est informé et l'exception est communiquée à la fenêtre immédiate. Ceci est un excellent post sur le sujet:

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

Une solution rapide et facile pour le débogage et diag d'exception est la première chance:

AppDomain.CurrentDomain.FirstChanceException += CurrentDomainOnFirstChanceException;

et

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

Multiple Première Chance Exception pendant l'exécution peut handicaper les performances de votre application, car la gestion des exceptions est coûteuse. Surtout dans les applications Web. Vous pouvez ajouter ce gestionnaire et regarder des exceptions spécifiques de la première chance et essayer d'éviter / les corriger.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top