На моем уровне пользовательского интерфейса (WinForms / WPF) я использую следующий метод бизнес-уровня, который принимает некоторые входные данные и создает объект, который затем будет отображаться в пользовательском интерфейсе.
Конечно, код в BL может выдать общее или конкретное исключение c, которое затем вернет нулевой объект (исключение обрабатывается). Мой вопрос заключается в том, как прилично направить сообщения, брошенные в BL на слой UI?
Уровень пользовательского интерфейса
var configs = RuleConfigurations.CreateInstance(template, "C", "D");
// Когда в вышеописанном методе возникает исключение, получите сообщение и отображение в пользовательском интерфейсе.
бизнес-уровень
public static RuleConfigurations CreateInstance(string excelFileName, string fieldColName, string valueColName)
{
RuleConfigurations configs = null;
try
{
configs = new RuleConfigurations(excelFileName, fieldColName, valueColName);
}
catch (DuplicateNameException e)
{
Console.WriteLine(e);
}
catch (Exception e)
{
Console.WriteLine(e);
}
return configs;
}