А как лучше отлавливать ошибки бизнес логики. Например не прошла валидация. Понимаю что дропать ошибки затратно. Как передать юзеру ошибку? Использовать возврат с бизнес логики какой-то универсальный объект респонса, типа:
public class OperationStatusInfo<T>
{
public OperationStatus OperationStatus { get; set; }
public string AttachedInfo { get; set; }
public T AttachedObject { get; set; }
}