Цикл принимает пользовательский ввод в строку и парсит его, в случае неудачного парсинга или запроса на сервер по ScreenName - возвращает Эксепшн. Какое условие можно поставить циклу, чтобы он повторялся, пока пользователь не введет корректное значение и метод не вернет корректный ответ?
int? numberId;
while (true)
{
Console.WriteLine("Введите Id, либо ScreenName группы");
var enterId = Console.ReadLine();
numberId = taskLogic.IdTreatment(enterId);
if(numberId != null)
break;
}
public int? IdTreatment(string enterId)
{
if (int.TryParse(enterId, out int numberId))
{
Console.WriteLine("Id принят успешно");
return (int?)numberId;
}
else
{
Console.WriteLine("Обнаружен ScreenName");
numberId = (int)api.Utils.ResolveScreenName(enterId).Id.Value;
return (int?)numberId;
}
}
Но повторюсь - это очень плохая практика - строить бизнес-логику на основе исключений.
int? numberId;
while (true)
{
Console.WriteLine("Введите Id, либо ScreenName группы");
var enterId = Console.ReadLine();
numberId = taskLogic.IdTreatment(enterId);
if(numberId != null)
break;
}
public int? IdTreatment(string enterId)
{
if (int.TryParse(enterId, out int numberId))
{
Console.WriteLine("Id принят успешно");
return (int?)numberId;
}
else
{
try
{
Console.WriteLine("Обнаружен ScreenName");
numberId = (int)api.Utils.ResolveScreenName(enterId).Id.Value;
return (int?)numberId;
}
catch (Exception)
{
return null;
}
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости