Gestion des exceptions (débogage)
Une exception est une situation anormale rencontrée par le programme au cours de son exécution. Les exceptions sont souvent des indications de problèmes devant être débogués. Lorsqu'une exception est levée, le débogueur écrit un message d'exception dans la fenêtre Sortie, à moins que cette option soit désactivée dans la boîte de dialogue Général, Débogage, boîte de dialogue Options.
Le débogueur peut arrêter l'exécution ou non lorsque l'exception se produit.
Si une exception non ASP.NET se produit et n'est pas gérée, le débogueur arrête toujours l'exécution.
Vous pouvez demander au débogueur d'arrêter immédiatement l'exécution lorsqu'une exception est levée, avant appel à tout gestionnaire. Pour plus d'informations, consultez Comment : arrêter l'exécution lorsqu'une exception est levée.
Si vous déboguez avec l'option Uniquement mon code, vous disposez d'une troisième option. Vous pouvez demander au débogueur un arrêt sur toute exception non gérée par un gestionnaire présent dans le code utilisateur ("Mon code"). Pour plus d'informations, consultez Comment : s'arrêter sur les exceptions non gérées par l'utilisateur.
ASP.NET a un gestionnaire d'exceptions de niveau élevé qui gère les exceptions pour montrer les pages d'erreur aux utilisateurs du navigateur. Ce gestionnaire d'exceptions de niveau élevé empêche l'arrêt d'une exception non gérée dans le débogueur, sauf si Uniquement mon code est activé. Veillez à activer Uniquement mon code pour le débogage ASP.NET.
Rappelez-vous que, si une exception se produit et n'est pas gérée du tout, le débogueur s'arrête toujours. Le paramètre Non géré par l'utilisateur ne change rien à cela.
Le débogueur Visual Studio reconnaît de nombreuses catégories d'exceptions :
Exceptions C++
Exceptions Common Language Runtime
Assistants de débogage managés
Contrôles d'exécution natifs
Exceptions Win32
Exceptions du runtime Javascript
Exceptions d'accès mémoire GPU
La plupart des exceptions comportent des gestionnaires conçus pour répondre à une exception lorsqu'elle se produit. Le programme peut ainsi effectuer une récupération à partir de la situation anormale. Aucun gestionnaire n'est associé aux vérifications d'exécution natives.
Dans une application Visual Basic, le débogueur représente toutes les erreurs en tant qu'exceptions, même si vous utilisez des gestionnaires d'erreurs de style On Error.
Pour Visual Basic et C#, le débogueur comporte désormais un nouvel Exception (Assistant) qui fournit plus d'informations en cas d'exception.
Les rubriques suivantes fournissent des informations sur la gestion des exceptions :
Comment : arrêter l'exécution lorsqu'une exception est levée
Comment : s'arrêter sur les exceptions non gérées par l'utilisateur
Utilisation des vérifications à l'exécution sans la bibliothèque Runtime C
-
Notes
(Visual Basic et Visual C# uniquement) Si une exception non interceptée se produit alors que l'Assistant Exception est désactivé, une pseudo-variable $exception s'ajoute à la fenêtre Variables locales.Vous pouvez développer cette pseudo-variable afin d'afficher les informations relatives à l'exception.
Voir aussi
Concepts
Autres ressources
<PAVEOVER>Comment : effectuer un pas à pas détaillé dans Uniquement mon code