¿Todavía se llama a Dispose cuando se lanza una excepción dentro de una instrucción using?
n el ejemplo a continuación, la conexión se cerrará y eliminará cuando se produzca una excepción si está dentro de unausing
declaración?
using (var conn = new SqlConnection("..."))
{
conn.Open();
// stuff happens here and exception is thrown...
}
Sé que este código a continuación se asegurará de que lo haga, pero tengo curiosidad por saber cómo usar la declaración.
var conn;
try
{
conn = new SqlConnection("...");
conn.Open();
// stuff happens here and exception is thrown...
}
// catch it or let it bubble up
finally
{
conn.Dispose();
}
RelacionadoCuál es la forma correcta de garantizar que se cierre una conexión SQL cuando se produce una excepción?