2009-06-01 3 views
2

Какова наилучшая практика для возврата ошибки бизнес-правила в BLL? Должен ли я просто создавать исключения и ловить их на уровне презентации, shoudl Я возвращаю какой-то объект, который содержит информацию о типе исключения?Рекомендации по ошибкам BLL

ответ

2

Слово «возвращение» здесь сложно.

Главным достоинством многоуровневой конструкции является ортогональность. Вы должны иметь возможность вызывать классы в вашем BLL из совершенно другого пользовательского интерфейса, чем тот, который вы сейчас используете, и обрабатывать ведение журнала совершенно по-другому.

Если исключение можно обрабатывать без вмешательства пользователя или уведомления, вы должны, как правило, делать это в BLL. Если исключение должно быть привлечено к пользователю или занесено в журнал, позвольте ему перейти к пользовательскому интерфейсу, который может реализовать уведомление и протоколирование, не создавая такие вещи в BLL.

+3

Также неплохо обернуть несколько исключений (InvalidCastException, SqlException и т. Д.) В одиночных типах исключений BLL (исключение MyDatabaseException), чтобы люди, использующие библиотеку, не должны были ловушки для пятнадцати различных типов исключений для каждого вызова. – Will

Смежные вопросы