Я пытаюсь вернуть пять самых последних статей из моей базы данных, чтобы я мог разместить ссылки на них в какой-нибудь дополнительной навигации, которую я имею на моей странице индекса. Я разделил свой проект MVC на два подпроекта, основываясь на предложении Стивена Сандерсона в его книге - WebUI, который является частью MVC, и Domain, который является частью модели EF4 / Domain.
У меня есть элементарный репозиторий, который выполняет тяжелую работу, главным образом, предоставляя фасад для EF4 и обрабатывая другие задачи, такие как проверка модели. У меня есть простой метод, который возвращает последние пять статей:
public List<Article> LastFive()
{
return _siteDB.Articles.OrderByDescending(a => a.LastModified).Take(5).ToList();
}
Моя проблема в том, что мне нужно использовать две другие похожие функции на моей странице указателя, чтобы показать пять самых последних обзоров и новости сайта. Не имея ничего в БД, они возвращают ArgumentNullExceptions (что нормально). Что бы я хотел бы сделать, это вместо этого отобразить простое сообщение «Нет статей / обзоров / новостей существует», но, поскольку все три будут выдавать одно и то же исключение, я не уверен, как захватить правильное и отобразить правильное сообщение в зависимости от категории, которая вызвала исключение.
Я не уверен, должен ли я подкласс Исключение для этих случаев, и если я сделал, точно, где я бы бросил их. Или, если есть способ определить, откуда возникло исключение (я), чтобы я мог обработать их правильно.