Como saber o problema real devido a qual SqlException é lançada?

Quero lidar com problemas diferentes, enquanto faço operações de banco de dados de maneira diferente.

por exemplo. A operação pode falhar devido a credenciais de banco de dados incorretas ou devido a um problema de rede. Ou pode falhar porque a consulta não está correta (se o valor da string estiver sendo passado na coluna do tipo int)

No meu código C #, só temosSqlException que tem coleção deSqlErrors. No entanto, existem muitos níveis de gravidade.

Como posso identificar facilmente a causa da SqlException? Como posso determinar a exceção é por causa do problema de conectividade ou falha de autenticação ou por causa do problema com a consulta.

Estou usando o SQL Server 2005.

questionAnswers(2)

yourAnswerToTheQuestion