Рассмотрим следующую сигнатуру метода:
public static bool TryGetPolls(out List<Poll> polls, out string errorMessage)
Этот метод выполняет следующие действия:
- обращается к базе данных для создания списка объектов опроса.
- возвращает true, если он был успешным, и errorMessage будет пустой строкой
- возвращает false, если он не был успешным, а errorMessage будет содержать сообщение об исключении.
Это хороший стиль?
Обновление: Допустим, я использую следующую сигнатуру метода:
public static List<Poll> GetPolls()
и в этом методе он не улавливает никаких исключений (поэтому я зависим от вызывающего пользователя для исключения исключений). Как я удаляю и закрываю все объекты, находящиеся в области этого метода? Как только генерируется исключение, код, который закрывает и удаляет объекты в методе, больше не доступен.