Est-il judicieux de gérer les erreurs et de consigner les méthodes d'actions à l'intérieur ou de gérer la méthode OnException dans les contrôleurs. L'une des méthodes consiste à écrire try/catch dans toutes les méthodes d'action, même s'il n'y a rien à faire pour récupérer de l'erreur. La gestion au niveau du contrôleur permettrait la journalisation et la redirection vers une page de gestionnaire d'erreurs sans écrire try/catch dans toutes les méthodes d'action.Traitement des erreurs dans les contrôleurs avec MVC
Quelle méthode a le plus de sens? Voici un exemple de code de try/catch dans une méthode d'action.
[HttpPost]
public ActionResult Delete(int id)
{
using (new Tracer("Project Controller"))
{
try
{
Logger.Write("Deleting project");
projService.DeleteProject(id);
TempData["message"] = "Project Deleted successfully";
}
catch (System.Exception ex)
{
HandleException(ex, "Project could not be deleted.");
}
return RedirectToAction("List");
}
}