Предположим, у меня есть следующий код:
private void UpdateDB(QuoteDataSet dataSet, Strint tableName)
{
using(SQLiteConnection conn = new SQLiteConnection(_connectionString))
{
conn.Open();
using (SQLiteTransaction transaction = conn.BeginTransaction())
{
using (SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM " + tableName, conn))
{
using (SQLiteDataAdapter sqliteAdapter = new SQLiteDataAdapter())
{
sqliteAdapter.Update(dataSet, tableName);
}
}
transaction.Commit();
}
}
}
Документация C # гласит, что с помощью оператора using
объект внутри области будет удален, и я видел несколько мест, где предполагается, что нам не нужно использовать предложение try / finally.
Обычно я окружаю свои соединения попыткой / окончанием, и я всегда закрываю соединение в предложении окончательно. Учитывая приведенный выше код, разумно ли предположить, что соединение будет закрыто, если есть исключение?