Мне было интересно, от каких исключений я должен защищаться при использовании WebClient.DownloadString
.
Вот как я сейчас его использую, но я уверен, что вы, ребята, можете предложить более надежную обработку исключений.
Например, от головы до головы:
- Нет подключения к Интернету.
- Сервер вернул 404.
- Время ожидания сервера.
Каков предпочтительный способ обработки этих случаев и выдачи исключения в пользовательский интерфейс?
public IEnumerable<Game> FindUpcomingGamesByPlatform(string platform)
{
string html;
using (WebClient client = new WebClient())
{
try
{
html = client.DownloadString(GetPlatformUrl(platform));
}
catch (WebException e)
{
//How do I capture this from the UI to show the error in a message box?
throw e;
}
}
string relevantHtml = "<tr>" + GetHtmlFromThisYear(html);
string[] separator = new string[] { "<tr>" };
string[] individualGamesHtml = relevantHtml.Split(separator, StringSplitOptions.None);
return ParseGames(individualGamesHtml);
}