私の同僚は、以下のコード「closeConnection()」を書き、次のタイプの例外をスローします。
RaceOnRCWCleanup が検出されました
使用中の RCW を解放しようとしました。RCW は、アクティブなスレッドまたは別のスレッドで使用中です。使用中の RCW を解放しようとすると、破損やデータ損失が発生する可能性があります。
private static void closeConnection()
{
if(connection != null)
{
try
{
connection.Close(); // <-- this is the problem
}
catch(Exception)
{
}
connection = null;
}
}
このコードは try { } catch { } ブロックでラップされているため、このタイプの例外をキャッチすることはできないと結論付けられます。これは事実ですか?