Разве моя функция не охватывает все пути возврата или это ошибка компилятора?C#

Место общения программистов C#
Anonymous
Разве моя функция не охватывает все пути возврата или это ошибка компилятора?

Сообщение Anonymous »

У меня есть следующая функция, которая работала до моего недавнего обновления компилятора Visual Studio
2022 (17.11.4). Ошибка, которую я получаю от компилятора: не все пути кода возвращают значение. Но какой путь не пройден? Один из них — return GetAllDatesWithoutLock();, а другой — повторный вызов ExceptionDispatchInfo.Throw(ex);? Этот код работал нормально до обновления.
public ScheduleDateTimeResponse GetAllDates()
{
log.Info("GetAllDates before locking");
semaphoreObject.Wait();
try
{
return GetAllDatesWithoutLock();
}
catch (Exception ex)
{
Console.WriteLine(Thread.CurrentThread.Name + "Error occurred.");
log.Error(Thread.CurrentThread.Name + "Error occurred in GetAllDates:", ex);
ExceptionDispatchInfo.Throw(ex);
}
finally
{
semaphoreObject.Release();
log.Info("GetAllDates after locking");
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... pilers-bug

Вернуться в «C#»