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 :

Voir aussi

Concepts

Sécurité du débogueur

Autres ressources

Exception (Assistant)

Présentation du débogueur

<PAVEOVER>Comment : effectuer un pas à pas détaillé dans Uniquement mon code