这似乎应该很简单,但我已经尝试了两种
try {} catch (...) {}
C ++异常处理和
__try {} __finally {}
结构化异常处理(SEH)
并且没有人能够捕获Control-C应用程序时发生的异常。
我真的不希望C ++异常处理这样做,因为Control-C是一个系统类型的信号而不是由C ++ throw()引起的,但是当SEH不能工作时我还是试过它。 / p>
如果我在调试器下运行,它会显示Control-C会引发第一次机会异常,但是当它被重新抛出时,我的处理程序永远不会被调用。
答案 0 :(得分:10)
以下是如何在Win32中处理中断。
http://msdn.microsoft.com/en-us/library/ms686016%28VS.85%29.aspx