У меня следующий код
public async Task<T> SendData<T>()
{
T result = default(T);
using (var client = new HttpClient())
{
using (var formData = new MultipartFormDataContent())
{
try
{
foreach (var p in ParametresToSend)
formData.Add(p.Value, p.Key);
HttpResponseMessage response = await client.PostAsync(URL, formData);
string stringContent = await response.Content.ReadAsStringAsync();
result = JsonConvert.DeserializeObject<T>(stringContent);
}
catch (Exception ex)
{
throw ex;
}
finally
{
ParametresToSend.Clear();
}
}
}
return result;
}
Это работает отлично, но если интернет не доступен после проверки его доступности (очень короткое время, но это возможно), он ловит first HttpRequestException. И после этого сразу же будет выброшено second HttpRequestException, но блок catch не перехватит его и приложение получит сбой. Почему это радует?