Ich benutze dieses Muster überall Daten aus der Datenbank zu packen und eine Ansicht anzuzeigen:Cleanly Umgang mit normalen Fehlern
public ActionResult Index(int? id)
{
RequestViewModel model;
model = this.ClientRepository.GetRequest(id);
return View("~/Views/Requests/Index.aspx", model);
}
Wenn das Repository null zurückgibt, was der Fall ist, wenn der Datensatz nicht existiert, dann scheißt meine Seite und gibt einen Fehler aus, weil das Modell null ist.
Ich möchte eine freundliche "die angeforderte Datensatz kann nicht gefunden werden" Nachricht statt der gelben Seite des Todes oder eine generische "ein Fehler aufgetreten" Seite.
Was ist das empfohlene Muster, um "normale" Fehler im Gegensatz zu unbehandelten Ausnahmen zu behandeln?
Danke,
Rick
Das funktioniert für mich. Irgendein Vorschlag für eine spezifischere Fehlermeldung für einige Seiten? – rboarman
@rboarman, ja innerhalb Ihres Aktionsfilters könnten Sie 'filterContext.RouteData.GetRequiredString (" action ")' und 'filterContext.RouteData.GetRequiredString (" controller ")' verwenden, um genau zu wissen, an welche Controller-Aktion ein 'null'-Modell übergeben wurde die Ansicht und basierend auf diesen Informationen die Fehlermeldung anpassen. Sie können auch Ihre 'NotFound'-Ansicht stark in ein Ansichtsmodell eingeben, das diese Informationen enthält. –