Ist es OK, meine Ausnahmen in den Aktionen des Controllers zu fangen? Gibt es einen besseren Weg? Ich erwische meine Ausnahmen im Controller und verwende TempData, um dem Benutzer eine Nachricht anzuzeigen, aber ich habe ein komisches Gefühl bei diesem Ansatz. Ich habe herumgesucht, aber ich habe nichts gefunden, was mir passt.ASP.NET MVC Ausnahmebehandlung
Antwort
Sie können das HandleError
-Attribut in der Controller-Klasse verwenden, um alle nicht behandelten Ausnahmen abzufangen, und es wird automatisch die Error.aspx-Ansicht im freigegebenen Ordner zurückgegeben. Es gibt Überlastungen für dieses Attribut, so dass Sie sich nur für bestimmte Ausnahmetypen verwendet haben können, usw.
Weitere Informationen zu diesem Ansatz Besuche ScottGu die Post darüber: http://weblogs.asp.net/scottgu/archive/2008/07/14/asp-net-mvc-preview-4-release-part-1.aspx
Dies ist interessant, aber die Andersherum kann ich zu den Standardansichten umleiten (zB "Index") und eine personalisierte Nachricht für die konkrete Ausnahme anzeigen ... –
Die Seiten Error.aspx sind an die Klasse HandleErrorInfo gebunden, die die Eigenschaften der Ausnahme offen legt. Wenn Sie eine personalisierte Ausnahmebedingungsnachricht senden, können Sie diese für die Ansicht rendern. Steve Sandersons Buch "Pro ASP.NET MVC Framework" behandelt einige Möglichkeiten, dies zu tun, und auch, wie Sie Ihre eigenen Ausnahmefilter erstellen. Ich würde empfehlen, dieses Buch aufzuheben. – mkchandler
Vielleicht erweitern Sie den HandleError, um die TempData zu definieren? Ich denke, ich werde das untersuchen. Danke ... –
- 1. Ausnahmebehandlung ASP.NET MVC Web API
- 2. Ausnahmebehandlung in Controller (ASP.NET MVC)
- 3. Serverseitige ASP.Net Ajax-Ausnahmebehandlung
- 4. ASP.NET-Ausnahmebehandlung/Protokollierung
- 5. Proper Ausnahmebehandlung mit ASP.NET MVC, ELMAH und benutzerdefinierten Fehlerseite
- 6. Ausnahmebehandlung in ASP.NET MVC und Ajax - [Handle] filtern
- 7. Spring-mvc-Controller und Ausnahmebehandlung
- 8. Globale Ausnahmebehandlung in ASP.NET 5
- 9. SignalR, Owin und Ausnahmebehandlung
- 10. Ausnahmebehandlung in ASP.NET Web Api 2
- 11. UpdatePanel Ausnahmebehandlung
- 12. ASP.Net VS ASP.Net MVC
- 13. ASP.NET MVC ohne ASP.NET?
- 14. asp.net MVC
- 15. - ASP.NET MVC
- 16. asp.net WebForms & asp.net MVC Sicherheitsoptionen
- 17. ASP.NET MVC vs. ASP.NET 4.0
- 18. ofstream Ausnahmebehandlung
- 19. XMLHttpRequest.open() Ausnahmebehandlung
- 20. Hintergrund-Ausnahmebehandlung
- 21. WinForms Ausnahmebehandlung
- 22. Python-Ausnahmebehandlung
- 23. WCF-Ausnahmebehandlung
- 24. Python-Ausnahmebehandlung
- 25. C++ Ausnahmebehandlung
- 26. Wcf Ausnahmebehandlung
- 27. Java-Ausnahmebehandlung
- 28. DB2-Ausnahmebehandlung
- 29. Task.Run vs. ContinueWith in ASP.NET MVC
- 30. Aktualisieren einer ASP.NET MVC 3-Projekt zu ASP.NET MVC 4
Das ist alt, aber ich wollte nur Stellen Sie meinen Beitrag als ref (** Probleme mit HandleError **) während der Weitergabe von - http://stackoverflow.com/questions/12183653/mvc-handleerror-filter-didnt-catch-an-exception –