Continuer la boucle d'itération après une exception est levée

Disons que j'ai un code comme ceci:

try
{
    for (int i = 0; i < 10; i++)
    {
        if (i == 2 || i == 4)
        {
            throw new Exception("Test " + i);
        }
    }
}
catch (Exception ex)
{
    errorLog.AppendLine(ex.Message);
}

Maintenant, il est évident que l'exécution s'arrête sur i==2, mais je veux faire la finition de l'ensemble de l'itération de sorte que, dans la errorLog a deux entrées (pour i==2 et i==4)
Alors, est-il possible de continuer à l'itération même de l'exception est levée ?

  • mettre le try...catch dans la boucle et l'utilisation continue.
  • Être exceptionnellement prudent de simplement avaler l'exception et continue. Pour commencer, seul hic, l'exception que vous savez que vous pouvez le récupérer à partir.
  • Veuillez consulter cette réponse pour comprendre pourquoi j'ai édité ton titre.
  • C'est un très mauvais exemple que vous avez fournies pour être honnête... Quel est le scénario qui êtes-vous essayer de résoudre cela?
  • C'est un exemple fantastique. C'est une courte mais complète du programme est capable de reproduire le comportement problématique décrite. Il est largement supérieure à certains gros bloc de code pour laquelle 95% de celui-ci est sans rapport avec la question. Je suis tout à fait reconnaissant que les OP ont pris le temps de créer un court exemple de travail.