如何处理SafeFileHandle终结器中的SEH异常?

时间:2016-09-07 13:39:02

标签: c# .net

我发现在某些环境中,SafeFileHandle的终结器会抛出SEHException因为终结器正在尝试关闭已经关闭的句柄。

问题是,如果连接了调试器,则必须抛出SEHException。 在其他情况下,它应该对CloseHandle API无效。

但是在没有任何调试器的干净环境(没有防病毒,VS或类似的东西),我们正在观察这样的问题。看起来像.NET或Windows bug。

我看到一个解决方案 - 编写一个自定义SafeFileHandle来处理dispose中的SEHException。但我需要重构这个庞大的项目并替换所有SafeFileHandles

有没有办法UnhandledException处理程序吞下这个异常或中止导致它的线程(GC finilizer线程)?有什么想法吗?

0 个答案:

没有答案