Переловить SqlException на уровне контроллера? ⇐ C#

Место общения программистов C#
Anonymous
Переловить SqlException на уровне контроллера?

Сообщение Anonymous »

В моем проекте WebApi 2 я следую шаблону обслуживания, а также шаблонам единиц работы и общего репозитория.

Все контроллеры имеют try-catch и на случай, если действие отсутствует, у меня есть глобальный фильтр IAutofacExceptionFilter, который перехватывает необработанные исключения.

Уровень обслуживания также имеет обработку исключений. Однако в репозитории нет обработки исключений, поэтому исключения всплывают до первой попытки, с которой они сталкиваются.

У меня также есть собственное исключение DatabaseException. класс, который фиксирует исключения базы данных EF, выданные при SaveChanges, и это работает нормально.

Однако, поскольку проект в настоящее время находится в стадии активной разработки с изменениями базы данных происходящие одновременно с изменениями кода, такие исключения, как SQLException или EntityCommandExecutionException, довольно распространены. Я хотел бы перехватить такого рода исключения и создать собственное исключение DatabaseException.

Должен ли я перехватывать эти исключения на уровне репозитория, уровне сервиса или контроллера? уровень?

Подробнее здесь: https://stackoverflow.com/questions/363 ... ller-level

Вернуться в «C#»