1 pièce(s) jointe(s)
[MVC 3], [Visual Studio 2010] HandleError, mécanisme de gestions des erreurs par défaut.
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 :
Code:
1 2 3 4 5 6 7
|
[HandleError]
public ActionResult About()
{
throw new DivideByZeroException();
return View();
} |
d) Le fichier global.asax contient bien par défaut
Code:
1 2 3 4 5
|
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
} |
e ) Je rajoute dans le web.config
Code:
1 2 3 4
|
<system.web>
<customErrors mode="On"/>
... |
f ) Je lance l'application en mode Debug avec la petite flèche verte("Démarrer le débogage (F5)")
g ) Une fois le site lancée je vais grâce au menu sur la page About.
et j'ai alors une erreur
Citation:
L'exception DivideByZeroException n'a pas été géré par le code utilisateur
du 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).
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.