Comment : gérer les erreurs au niveau de la page
Mise à jour : novembre 2007
Si possible, vous devez gérer les erreurs dans les blocs Try/Catch de votre code, car un problème est résolu plus facilement à l'endroit où il se produit. Si l'utilisateur peut aider à résoudre un problème, la page doit retourner au même emplacement afin que l'utilisateur dispose d'un contexte pour décider des actions à entreprendre.
Un gestionnaire de niveau page vous ramène à la page, mais celle-ci est vide, car les instances de contrôles ne sont pas créées. Pour fournir des informations à l'utilisateur, vous devez les écrire spécifiquement sur la page.
Vous utiliserez probablement un gestionnaire d'erreurs de niveau page pour enregistrer les erreurs non gérées ou diriger l'utilisateur vers une page qui peut afficher des informations utiles.
Cet exemple de code affiche un gestionnaire pour l'événement Error dans une page Web ASP.NET. Ce gestionnaire intercepte toutes les exceptions qui ne sont pas déjà gérées dans les blocs Try/Catch de la page.
Une fois l'erreur gérée, vous devez l'effacer en appelant la méthode ClearError de l'objet Server (classe HttpServerUtility).
Exemple
Ce gestionnaire filtre des types spécifiques d'exceptions. Pour une exception ArgumentOutOfRangeException, le gestionnaire écrit du texte sur la page, fournit un lien pour revenir à la page, enregistre l'erreur et informe les administrateurs système. Pour une exception InvalidOperationException, le gestionnaire transfère simplement l'exception à la page d'erreurs générique. Pour tout autre type d'exception, le gestionnaire ne fait rien, ce qui permet à votre site de rediriger automatiquement vers la page générique spécifiée dans le fichier Web.config. Votre propre code peut filtrer les exceptions qui sont importantes pour votre application.
L'exemple suivant fait partie d'un exemple de code complet dans Exemple complet pour les gestionnaires d'erreurs
Sécurité
Utilisez l'Élément <customErrors> pour restreindre l'affichage des messages d'erreur détaillés aux utilisateurs locaux uniquement.
Assurez-vous de ne pas afficher les informations relatives aux erreurs susceptibles d'être exploitées par des utilisateurs malveillants pour nuire à votre application. Pour plus d'informations, consultez Comment : afficher des messages d'erreur sécurisés.
Voir aussi
Tâches
Comment : gérer les erreurs au niveau de l'application