Метод TryParse (...) - не лучший пример в этом случае.TryParse только сигнализирует, был ли проанализирован номер или нет, но не указывает, почему анализ не удался.Это не нужно, потому что единственная причина, по которой он может потерпеть неудачу, связана с «плохим форматом».
Когда вы сталкиваетесь с ситуациями, когда нет очевидной хорошей сигнатуры метода для того, что вы пытаетесь сделать, вам следуетотступите назад и спросите себя, может быть, метод делает слишком много.
Какие тесты вы проводите?Они связаны вообще?Существуют ли тесты в этом же методе, которые не пройдут из-за совершенно разных несвязанных причин, которые вы должны отслеживать, чтобы дать содержательный отзыв пользователю / потребителю?
Поможет ли рефакторинг вашего кода?Можете ли вы сгруппировать тесты логически в отдельные методы, которые могут быть неуспешными только по одной причине (принцип единой цели), и вызывать их все соответственно из исходного места вызова вместо одного многоцелевого метода, который вы рассматриваете?
Является ли тест неудачнымнормальная ситуация, которую нужно зарегистрировать только в каком-либо файле журнала, или это обязательно, что вы оповестите пользователя каким-либо косвенным образом, возможно, остановив нормальный поток приложения?Если это последнее, можно ли будет использовать пользовательские исключения и перехватывать их соответствующим образом?
Существует много возможностей, но нам нужно больше информации о том, что вы пытаетесь сделать, чтобы дать вам более точный совет.