C# で開いているデータベースへの接続を閉じることについて質問があります。「using」メソッドを放棄し、try/catch/finally ブロックを使用して接続を開いたり閉じたりするとしましょう。
try
{
connection = new SqlConnection();
connection.Open();
}
catch (Exception ex)
{
// Do whatever you need with exception
}
finally
{
1.connection.Dispose();
2.if (connection != null)
{
connection.Dispose();
}
}
ここでの私の質問は、このコード セグメントで 1) だけが発生した場合に正確に何が起こるかです。接続は、破棄 (クローズ) する前に常に null をチェックする必要がありますが、そうでない場合、null の接続オブジェクトを閉じようとするとどうなりますか? (開かれた接続に何が起こるかに興味があります。これはリークにつながる可能性があります)