У меня было много действий в контроллере. Есть ли способ попытаться поймать весь документ-контроллер один раз вместо того, чтобы вставлять try-catch в каждое действие?Любой способ попробовать поймать весь контроллер?
ответ
Да, вы можете захватить событие Application_Error
, которое будет обрабатывать все исключения, которые не обрабатываются кодом действия. Для получения дополнительной информации см. this article.
Я вижу, где я должен положить его в MVC? – Rasme
Он может зайти в [global.asax.cs] (https://www.codeproject.com/Questions/697469/About-Global-asax-File-in-MVC) –
Недостатком является то, что это глобально, а не -controller. Кроме того, исходный вопрос по-прежнему выглядит как случай проблемы [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). – EJoshuaS
можно переопределить OnException метод
protected override void OnException(ExceptionContext filterContext)
{
//your handling logic here
filterContext.ExceptionHandled = true;
}
Если вы хотите, чтобы поймать любое исключение во всех контроллерах в вашем MVC Application, а затем перейти на глобальных исключений фильтров, это ссылка, которая объясняет, как именно поймать и войти глобальные исключения в базу данных
http://www.dotnetcurry.com/aspnet-mvc/1260/exception-handling-logging-aspnet-mvc
- 1. Как использовать попробовать поймать
- 2. Android попробовать блок поймать
- 3. попробовать несколько поймать
- 4. Правильное использование попробовать .. поймать
- 5. попробовать/поймать и inputmismatchexception
- 6. Попробовать/поймать в PHP
- 7. избежать вложенных попробовать/поймать
- 8. Не могу попробовать/поймать ошибку
- 9. C++ попробовать/поймать не поймать исключение
- 10. Почему попробовать блоки нужно поймать
- 11. Неужели .NET попробовать/поймать дешево?
- 12. Синглтон - если или попробовать/поймать?
- 13. стоимость Производительность попробовать/поймать блок
- 14. использованием и попробовать/поймать вложенности
- 15. PDO соединение попробовать и поймать
- 16. Как попробовать ... поймать ... [наконец] работать?
- 17. попробовать ... поймать не ловить IllegalArgumentException
- 18. JMock странно попробовать/поймать пункт
- 19. попробовать/поймать +, используя, правый синтаксис
- 20. Есть ли способ попробовать/поймать любой шум JS, исходящий от заданного знака <script>
- 21. Любой способ создать поймать все маршруты
- 22. Самый быстрый способ поймать экран? Любой язык
- 23. Ruby любой способ поймать сообщения до method_missing?
- 24. Есть ли способ попробовать/поймать целую страницу динамически?
- 25. Любой способ поймать исключения из любой порожденной нити?
- 26. Laravel - Как попробовать/поймать в виде лезвия?
- 27. laravel 5 - поймать весь маршрут (маршрут: контроллер) в конце маршрута.php?
- 28. поймать без попытки попробовать и не поймать ошибки
- 29. CakePHP поймать весь маршрут
- 30. стандарты программирования и рефакторинга попробовать/поймать заявление
Это похоже на классическую [проблему XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) - это плохая практика. Вы должны ловить только исключения, которые вы можете обработать. – EJoshuaS
@EJoshuaS Спасибо, что это была полезная информация. – Rasme