Присвойте object.result значение null, если он вызывает исключение
У меня есть следующий набор кода
Task<List<ExchangeRateDto>> getUsdExchangeRatesTask = Task.Factory.StartNew(() => _accountsService.GetExchangeRates("USA", "USD")); JobDetailsModel model = GetJobDetailsModel(getUsdExchangeRatesTask.Result, job);
В приведенном выше примере, если вызов _accountService завершается неудачей по какой-либо причине, например service down или конечная точка не совпадает, то "
getUsdExchangeRatesTask.Result- бросает исключение.
Я бы предпочел обращаться так, чтобы вызов службы не удался тогда
getUsdExchangeRatesTask.Resultдолжно быть присвоено значение Null, чтобы дальнейший вызов других методов не повлиял.
Что я уже пробовал:
Я попытался использовать блок try catch, но он просто ловит исключение, но я хотел бы присвоить этому значению NUll. Может ли кто-нибудь, пожалуйста, помочь мне решить эту проблему.
MadMyche
Не могли бы вы показать нам try....catch
версия?
Richard Deeming
Почему вы запускаете новый поток для вызова синхронного метода, если затем немедленно блокируете текущий поток, чтобы дождаться завершения этого метода? Просто вызовите метод напрямую.