(特定の SqlException ではなく) 例外に基づく再試行ロジックを使用することに問題はありますか?プログラミング エラーが原因で発生する例外は最終的にテスト フェーズで発見され、深刻な (SO などの) 例外はいずれにせよ catch ブロックによってキャッチされないため、再試行ロジックの一般的な例外ブロックは受け入れられるアイデアであると想定しています。
そうでない場合は、おそらく ExecuteReader
をラップするソリューション 良い考えでしょう。これが文書化
されていることを考慮すると また、ExecuteReader メソッドがスローする可能性のある他の例外にも注意を払う必要があるため、おそらく IOException
を予測する必要があるかもしれません および ObjectDisposedException
InvalidOperationException
とは別に .