2010-08-03 5 views
2

Lorsque l'attribut HandleError sur un contrôleur détecte une exception non gérée et redirige vers la vue Erreur, je souhaite fournir à l'utilisateur une brève description de l'erreur et une option permettant d'envoyer l'erreur à l'administrateur de l'application.Comment puis-je accéder à une exception non gérée dans une vue Erreur MVC?

J'ai un HandleError personnalisé qui avertit Elmah pour enregistrer l'erreur, mais avoir à rechercher l'erreur dans le journal d'Elmah semble un peu un dernier recours. Existe-t-il un autre moyen d'accéder à l'exception non gérée qui est "interceptée" par HandleError?

+0

Si vous consignez l'erreur, n'avez-vous pas déjà accès à sa description? –

+0

Oui, mais comme je l'ai dit, le contrôleur qui attrape l'erreur redirige vers la vue Erreur, donc si je peux éviter une recherche d'erreur dans la BD, ce serait idéal. – ProfK

Répondre

4

HandleErrorAttribute fournit un objet de modèle de type HandleErrorInfo Page Votre erreur pourrait ressembler à ceci

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<HandleErrorInfo>" %> 

Le modèle a une propriété Exception avec les détails de l'exception gérée.

J'utilise généralement un gestionnaire d'erreur personnalisé qui enregistre également l'exception en utilisant log4net et j'ai un appender STMP qui m'envoie un e-mail chaque fois qu'une exception est gérée par le filtre.

Questions connexes