L'exception gère la bonne façon pour WebClient.DownloadString

Je me demandais quelles sont les exceptions que je devrais me protéger lors de l'utilisation de WebClient.DownloadString.

Voici comment je l'utilise, mais je suis sûr que vous les gars peuvent proposer les meilleures plus robuste de gestion des exceptions.

Par exemple, sur le dessus de ma tête:

  • Pas de connexion internet.
  • Serveur a renvoyé une erreur 404.
  • Serveur a expiré.

Quelle est la meilleure façon de gérer ces cas et de les jeter à l'exception de l'INTERFACE utilisateur?

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);           
}

source d'informationauteur Only Bolivian Here