是否只在调试器中发生某些异常错误?

时间:2011-08-31 18:42:05

标签: c++ c windows visual-studio

在一个程序中,我偶然在互斥锁手柄上调用closeHandle()两次(关闭已经关闭的句柄)。

在调试器中运行代码时,我按预期收到了异常错误An invalid HANDLE was specified.

但是,将程序“正常”作为独立程序(在调试程序之外)运行,不会出现异常或任何其他错误。程序似乎正常运行。

这只是Visual Studio .NET 2003中的一个设置还是还有更多设置?

1 个答案:

答案 0 :(得分:5)

documentation州:

  

如果应用程序在调试器下运行,则该函数在收到无效的句柄值或伪句柄值时将抛出异常。如果关闭句柄两次,或者在FindFirstFile函数返回的句柄上调用CloseHandle而不是调用FindClose函数,则会发生这种情况。