Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como resolver o SqlConnection sendo fechado de dentro do ExecuteReader?


Existe algum problema em ter lógica de repetição baseada em qualquer exceção (e não em SqlException específica)? Estou assumindo que as exceções resultantes de erros de programação seriam eventualmente descobertas durante a fase de teste e exceções graves (como SO) não seriam capturadas pelo bloco catch, de modo que o bloco de exceção genérico para lógica de repetição pode ser uma ideia aceitável.

Caso contrário, provavelmente sua solução de encapsular ExecuteReader seria uma boa ideia. Considerando que isso está documentado comportamento, você também precisa prestar atenção a outras exceções que o método ExecuteReader pode lançar - então você provavelmente precisará antecipar IOException e ObjectDisposedException além de InvalidOperationException .