Existuje nějaký problém s logikou opakování založenou na jakékoli výjimce (a ne na konkrétní SqlException)? Předpokládám, že výjimky vzniklé v důsledku programovacích chyb by byly nakonec nalezeny během testovací fáze a závažné výjimky (jako je SO) by stejně nebyly zachyceny blokem catch, takže generický blok výjimek pro logiku opakování může být přijatelný nápad.
Pokud ne, pak pravděpodobně vaše řešení zabalení ExecuteReader
byl by to dobrý nápad. Vzhledem k tomu, že toto je zdokumentováno
chování, musíte také věnovat pozornost dalším výjimkám, které může metoda ExecuteReader vyvolat - takže pravděpodobně budete muset předvídat IOException
a ObjectDisposedException
kromě InvalidOperationException
.