Куда поместить try / catch при использовании IDisposable

Мне просто посоветовали поместить весь блок using внутри try , иначе using область предотвратит перехват исключения. Однако не помешает ли это , использующему , правильно распоряжаться своими ресурсами в случае возникновения исключения? Если у меня есть приведенный ниже код, куда мне поместить блоки try ?

using (connSQL = new SqlConnection(strConn)) 
{
    connSQL.Open();
    using (SqlCommand commSQL = new SqlCommand(strPreparedStatement, connSQL)) 
    {
        if (sqlParameters != null)
        {
            for (int i = sqlParameters.GetLowerBound(0); i <= sqlParameters.GetUpperBound(0); i++)
            {
                commSQL.Parameters.Add(sqlParameters[i]);
            }
        }
        drSQL = commSQL.ExecuteReader();
        dtReturn.Load(drSQL);

        commSQL.Parameters.Clear();
    }
}

В этом приложении гораздо важнее убедиться, что соединения с базой данных не начинают накапливаться из-за исключений.

5
задан Yuval Itzchakov 22 November 2014 в 09:48
поделиться