【发布时间】:2012-06-19 20:56:22
【问题描述】:
与 C++ 异常不同,访问冲突表明您的应用程序运行时受到威胁,因此您的应用程序的状态是未定义的。在这种情况下,最好的办法是退出您的应用程序(通常为您完成,因为它会崩溃)。
我注意到有可能捕获这些异常之一。例如,在 Microsoft Visual C++ 中,您可以使用 /EHa 或 __try/__catch 来执行此操作。
那么,您想要抓住它们的原因是什么?据我了解,您的应用程序无法恢复。
【问题讨论】:
-
当您崩溃时,您可能正在做一些通常令用户不愉快的事情。例如,您可能出于某种原因禁用了他们的任务栏。您需要确保在完成之前将其反转。
-
但是如果运行时受到损害,继续清理代码的可能性有多大?
-
我想可能发生的最坏情况是您的应用程序会崩溃。 ;-)
-
希望对操作系统的一个函数调用能够通过,并且用户至少再次拥有一个可用的任务栏。
标签: c++ error-handling access-violation