Когда HttpClient
выдает исключение при попытке получить страницу, он возвращает HttpRequestException
. Это исключение действительно не имеет ничего общего с категоризацией ошибки, кроме сообщения, поэтому единственный способ обработки ошибок, который я вижу, выглядит так:
try
{
HttpResponseMessage response = await client.GetAsync("http://www.example.com/");
// ...
}
catch (HttpRequestException e)
{
if(e.Message == "Name or service not known")
{
HandleNotKnown();
return;
}
if(e.Message == "Some other specific message")
{
HandleOtherError();
return;
}
// ... etc
}
Мне не нравится это делать, потому что я чувствую, что в какой-то момент текст ошибки может измениться в обновлении и сломать мой код.
Есть ли лучший способ обрабатывать определенные c ошибки с помощью HttpClient?