Исключение, обрабатывающее правильный путь для WebClient.DownloadString

Мне было интересно, от каких исключений я должен защищаться при использовании 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);           
}
15
задан Only Bolivian Here 14 May 2011 в 01:22
поделиться