Таким образом, в общем случае в ASP.NET MVC необходимо обрабатывать 2 вида ошибок: ошибки проверки и системные ошибки.
Для системных ошибок, возникающих из-за нарушения некоторых системных правил (например, внешнего ключа)Нарушение ограничения в базе данных во время вставки), вы должны использовать оператор try-catche, а затем каким-то образом передать их представлению, чтобы показать их пользователю.
Для ошибок проверки вы должны прочитать о ASP.NET MVCВалидация:
Итак, какВ заключение подумайте о том, чтобы отделить заботы о функциональности домена / бизнеса от забот, связанных с проверкой.Единственная распространенная вещь, которую они должны иметь (в идеальном сценарии), это представление, в котором вы показываете результаты проверки.
Лично я (используя 2-й подход) даже сохраняю проверку, чтобы реализация проверки былазнает о доменной / бизнес-логике и манипулирует ею для проверки всех правил.В конце проверки, если все правила были соблюдены, он пытается сохранить данные и возвращает сообщение об ошибке проверки в случае неудачи.Это также хорошее начало, чтобы пойти дальше и даже локализовать ваши пользовательские сообщения проверки.
Надеюсь, это поможет!