Qu'est-ce qu'une exception de première chance exactement? Comment et d'où vient-il dans un programme .NET? Et pourquoi est-il appelé par ce nom particulier (de quelle «chance» parlons-nous)?
.net
visual-studio
debugging
exception
first-chance-exception
Frédéric le fou
la source
la source
finally
exécution de tout bloc. Une fois que le système a décidé qui va intercepter une exception (et déterminé que quelqu'un va réellement), le système commencera à dérouler la pile. Notez que si une exception est lancée à partir d'unfinally
bloc ...catch
pour cela, le contrôle y va. S'il n'y a pas decatch
blocage, vous obtenez la coupure de «seconde chance», cette fois le message est Une exception non gérée de type «foo» s'est produite dans YourApp.exe . À partir de là, essayer de continuer ou d'aller plus loin ne réussira pas.Les notifications d'exception de première chance sont déclenchées lorsqu'une exception est levée. Les notifications de seconde chance sont quand elles ne sont pas interceptées. (Chance - comme l'occasion de pénétrer dans le code dans le débogueur).
Gestion des exceptions de première et deuxième chance
la source
Je viens de commencer à utiliser le débogueur et je suis tombé sur ceci. Dans mes recherches, j'ai trouvé le billet de blog MSDN Qu'est-ce qu'une exception de première chance? cela m'a éclairci.
Ce que je retiens du blog, c'est qu'il fait référence à la notification au débogueur, et non à quelque chose que mon code aurait nécessairement besoin de gérer, et surtout, "Les messages d'exception de première chance ne signifient le plus souvent pas qu'il y a un problème dans le code."
la source
Lorsqu'une application est en cours de débogage, le débogueur est notifié chaque fois qu'une exception est rencontrée. À ce stade, l'application est suspendue et le débogueur décide comment gérer l'exception. Le premier passage à travers ce mécanisme est appelé une exception de «première chance».
En fonction de la configuration du débogueur, il reprendra l'application et transmettra l'exception ou laissera l'application suspendue et entrera en mode débogage. Si l'application gère l'exception, elle continue de s'exécuter normalement.
Le plus souvent, les messages d'exception de première chance ne signifient pas qu'il y a un problème dans le code. Pour les applications / composants qui gèrent correctement les exceptions, les messages d'exception de première chance indiquent au développeur qu'une situation exceptionnelle a été rencontrée et a été gérée.
la source
Du point de vue d'un développeur, il s'agit plus d'une exception de seconde chance, car cela signifierait qu'elle n'a pas été gérée dans le code ; l'application s'arrêterait donc.
La première chance pourrait être beaucoup d'entre elles, mais celles dont il faut se préoccuper davantage, encore une fois, du point de vue du développement, sont la deuxième chance, car cela entraînerait un plantage de l'application.
la source