Я создаю трехуровневое приложение, и у меня есть проблема с обработкой ошибок. Я не знаю, нужно ли мне исключать или вызвать метод для передачи проблемы другим слоям.Обработка ошибок: Исключения против метода ошибки
Вот быстрый Exemple, у меня есть:
- это FileChooserFrame
(презентация первого уровня), что позволяет пользователю выбрать файл в списке.
- a DataHandler
(Уровень приложения), который выполняет некоторые действия с указанием пути к файлу и выполняет связь между представлением & Уровень данных.
- a FileParser
(Уровень данных), который анализирует файл и получает данные от него.
Теперь скажем, что файл должен следовать специальной структуре, а если нет, я хочу показать MessageBox.
Я не могу узнать, выбрал ли пользователь хороший файл перед его разбором.
Мой вопрос: что мне делать, когда вижу, что файл не соответствует структуре?
Я подумал о двух вещах:
1 - Остановите текущее действие и вызовите метод в DataHandler
(например, NotifyWrongFileErr()
), который попросит фрейм показать сообщениеBox.
2 - Выбросите пользовательское исключение, которое я поймаю в FileChooserFrame
, который покажет всплывающее окно.
Оба варианта имеют свои плюсы и минусы, поэтому я не могу выбирать между ними. Что было бы самой подходящей?
PS: В случае n ° 2, где я должен писать класс Exception? В файле, посвященном Исключениям приложения, или рядом с классом, который его бросит?
посмотреть здесь http://msdn.microsoft.com/en-us/library/seyhszts(v=vs.110) .aspx –