Мне интересно, есть ли имя для этого "шаблона", где подпись метода называется TrySomething, например. int.TryParse
, decimal.TryParse
и т.д.
Мой коллега часто использует это соглашение об именах - вместо того, чтобы возвращать значение или бросать исключение, они вызывают метод TryDoSomething
, и если исключение поймано во время обработки, оно возвращается через параметр out.
Изменить: я понимаю, что пример, описанный в примере, не так, как работают методы TryParse. Это был смысл публикации этого... Я не был уверен, как это назвать. Я согласен, что это больше похоже на соглашение об именах, а не на шаблон. Спасибо за все входные данные.
Изменить: Интересный...
Рассмотрим шаблон TryParse для членов, которые могут генерировать исключения в общих сценариях, чтобы избежать проблем с производительностью, связанных с исключениями.
Чтобы реализовать шаблон TryParse, вы предоставляете два разных метода для выполнения операции, которая может генерировать исключения в общих сценариях. Первый метод, X, выполняет операцию и выдает исключение, когда это необходимо. Второй метод TryX не генерирует исключение, но вместо этого возвращает логическое значение, указывающее на успех или неудачу. Любые данные, возвращаемые успешным вызовом TryX, возвращаются с использованием параметра out (ByRef in Visual Basic). Способы Parse и TryParse являются примерами этого шаблона.