Apakah ada masalah dengan logika coba lagi berdasarkan pengecualian apa pun (dan bukan pada SqlException tertentu)? Saya berasumsi bahwa pengecualian yang dihasilkan karena kesalahan pemrograman pada akhirnya akan ditemukan selama fase pengujian dan pengecualian yang parah (seperti SO) tetap tidak akan ditangkap oleh blok tangkap sehingga blok pengecualian umum untuk logika coba lagi dapat menjadi ide yang dapat diterima.
Jika tidak maka mungkin solusi Anda untuk membungkus ExecuteReader
akan menjadi ide yang bagus. Menimbang bahwa ini didokumentasikan
perilaku, Anda juga perlu memperhatikan pengecualian lain yang mungkin dilemparkan oleh metode ExecuteReader - jadi Anda mungkin perlu mengantisipasi IOException
dan ObjectDisposedException
selain InvalidOperationException
.