Comment puis-je gérer correctement les exceptions levées de contrôleurs ASP.NET MVC? L' HandleError
attribut semble de ne traiter les exceptions levées par le MVC de l'infrastructure et de ne pas les exceptions levées par mon propre code.
L'utilisation de ce site.config
<customErrors mode="On">
<error statusCode="401" redirect="/Errors/Http401" />
</customErrors>
avec le code suivant
namespace MvcApplication1.Controllers
{
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
// Force a 401 exception for testing
throw new HttpException(401, "Unauthorized");
}
}
}
n'entraîne pas de ce que j'espérais. Au lieu de cela je obtenir le générique ASP.NET page d'erreur me disant de me modifier mon site web.config pour voir les informations d'erreur. Cependant, si au lieu de lancer une exception-je retourner une défaillance de Vue, j'ai l' /Shared/Vues/Erreurs.page aspx:
return View("DoesNotExist");
De lever des exceptions au sein d'un contrôleur comme je l'ai fait ci-dessus semble ignorer tous les de la HandleError
fonctionnalités, alors quelle est la bonne façon de créer des pages d'erreur et comment puis-je jouer à nice avec le MVC de l'infrastructure?