Je cherche à retravailler et à simplifier la gestion des erreurs dans une application que je supporte. Actuellement, toutes nos pages héritent d'une classe de base que nous avons créée, qui à son tour hérite évidemment de System.Web.UI.Page. Dans cette classe de base, la méthode OnError est actuellement surchargée, et à son tour en appelant MyBase.OnError, puis en appelant l'une de nos méthodes de journalisation personnalisées.Quand remplacer OnError?
Je ne vois aucun intérêt à surcharger la méthode OnError, et je pense qu'il vaudrait mieux laisser la méthode Application_Error dans Global.asax s'occuper de l'exception non gérée (la consigner), puis la section customErrors dans la config déclencherait un processus pour rediriger l'utilisateur.
En regardant en ligne, il semble que les gens surchargent cette méthode assez souvent, mais je ne vois pas le besoin de l'article this de MSDN me fait penser la même chose.
Mais, encore une fois, pourquoi remplacer la méthode OnError? Si vous avez besoin de gérer les informations dans le contexte de la page, je comprends pourquoi vous voudriez gérer l'erreur dans ce contexte (consigner des données spécifiques sur la page, entrer l'utilisateur, afficher les messages sur l'écran, etc. la méthode OnError existante au lieu d'utiliser Page_Error ou Application_Error? –
page_error provient de onerror (Page_Load est appelé à partir de la méthode OnLoad, etc.), c'est pourquoi OnError; c'est la même chose que Page_Error ... Donc la vraie question est pourquoi erreur de page vs erreur d'application ... –
Avec le lien que j'ai fourni ci-dessus, le paragraphe au-dessus de la section "global.asax: Application_Error" mentionne que mettre du code dans un La méthode OnError Override n'est pas la même que l'utilisation de Page_Error. Donc, dans votre cas, je suppose que vous surchargez cette fonctionnalité pour la rediriger par vous-même, donc c'est probablement correct. Dans mon cas, nous ne remplaçons pas vraiment cette fonctionnalité dans la méthode OnError, nous faisons simplement une journalisation très générale à propos de l'exception qui a été lancée. Je pense que nous pourrions mettre la journalisation au niveau de l'application et supprimer notre méthode OnError. Merci pour votre contribution. –