Y a-t-il un problème avec la logique de nouvelle tentative basée sur une exception (et non sur une SqlException spécifique) ? Je suppose que les exceptions résultant d'erreurs de programmation seraient éventuellement découvertes pendant la phase de test et que les exceptions graves (telles que SO) ne seraient de toute façon pas interceptées par le bloc catch, de sorte qu'un bloc d'exception générique pour la logique de nouvelle tentative peut être une idée acceptable.
Si ce n'est pas le cas, votre solution consiste probablement à envelopper ExecuteReader
serait une bonne idée. Considérant que ceci est documenté
comportement, vous devez également prêter attention aux autres exceptions que la méthode ExecuteReader peut générer - vous devrez donc probablement anticiper IOException
et ObjectDisposedException
à part InvalidOperationException
.