Mise à jour : En fait, le résultat attendu arrive après avoir passé le message d'erreur du débogeur de visual Studio. À contrario, celui-ci semble fallacieux.
Bonjour,
L'attribut handleError n'a pas chez moi le résultat escompté.
Pour test, sous Visual Studio 2010 :
a) Je fais "Fichier->Nouveau Projet->ASP .NET MVC3 Web Application"
b) Je choisis le template "Internet Application", view engine : Razor, et je garde coché "Use HTML 5 semantic markup"
c) je modifie, dans le fichier HomeController créé par défaut, l'action About pour tester l'attribut HandleError :
d) Le fichier global.asax contient bien par défaut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [HandleError] public ActionResult About() { throw new DivideByZeroException(); return View(); }
e ) Je rajoute dans le web.config
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); }
f ) Je lance l'application en mode Debug avec la petite flèche verte("Démarrer le débogage (F5)")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4<system.web> <customErrors mode="On"/> ...
g ) Une fois le site lancée je vais grâce au menu sur la page About.
et j'ai alors une erreurdu débogueur de visual Studio alors que je m'attendais à me retrouver, par défaut, sur la page Views/Shared/Error.cshtml. (cf pièce jointe).L'exception DivideByZeroException n'a pas été géré par le code utilisateur
Après avoir fait une recherche, je n'ai pas réussi à trouver les étapes suplémentaires pour avoir une gestion d'erreur basique par handleError qui fonctionne.
L'un de vous pourrait-il me les indiquer ?
Cordialement,
Florian.
Partager