Déboguer des exceptions ASP.NET

Le débogage d’exceptions est une partie importante du développement d’une application ASP.NET fiable. Vous trouverez des informations générales sur le débogage des exceptions dans la section Gestion des exceptions avec le débogueur.

Pour déboguer les exceptions non prises en charge ASP.NET, vous devez vous assurer que le débogueur s’arrête quand elles se produisent. Le runtime ASP.NET dispose d’un gestionnaire d’exceptions de niveau supérieur. Par conséquent, le débogueur ne s'arrête jamais par défaut sur les exceptions non gérées. Pour arrêter le débogueur lorsqu’une exception est levée, vous devez sélectionner le paramètre Arrêter en cas d’exception levée pour cette exception spécifique dans la boîte de dialogue Exceptions.

Si vous avez activé l’option Uniquement mon code, Arrêter en cas d’exception levée n’arrête pas le débogueur immédiatement si une exception est levée dans une méthode .NET ou un autre code système. En revanche, l'exécution continue jusqu'à ce que le débogueur atteigne du code du non-système, puisse elle s'arrête. Résultat : vous n'avez pas à parcourir le code de système lorsqu'une exception se produit.

Uniquement mon code vous offre une autre option qui peut être utile : Continuer en cas d’exception non gérée dans le code utilisateur. Si vous désactivez ce paramètre pour une exception, le débogueur arrêtera l'exécution du code utilisateur, mais uniquement si l'exception n'est pas interceptée et gérée par le code utilisateur. Ce paramètre annule l’effet du gestionnaire d’exceptions ASP.NET de niveau supérieur, car ce gestionnaire se trouve dans du code non-utilisateur.

Activer le débogage des exceptions ASP.NET avec Uniquement mon code

  1. Dans le menu Débogage, cliquez sur Windows>Paramètres d’exception.

    La boîte de dialogue Exceptions s’affiche.

  2. Sous Exceptions du Common Language Runtime, sélectionnez la ligne de l’exception que vous souhaitez interrompre lorsqu’elle est levée.

  3. Si vous souhaitez désactiver Continuer en cas d’exception non gérée dans le code utilisateur, cliquez avec le bouton droit sur la ligne et désélectionnez l’option, si elle est déjà sélectionnée.

    Pour pouvoir utiliser Non géré par l’utilisateur, vous devez activer Uniquement mon code.

Pour utiliser les meilleures pratiques pour la gestion des exceptions ASP.NET

  • Placez des blocs try ... catch autour du code qui peut lever des exceptions que vous pouvez anticiper et que vous savez gérer. Par exemple, si l’application effectue des appels à un service web XML ou directement à un SQL Server, ce code doit se trouver dans des blocs try ... catch, car de nombreuses exceptions risquent de se produire.