首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++ try-except语句

c++ try-except语句
EN

Stack Overflow用户
提问于 2011-07-07 01:27:28
回答 5查看 2.7K关注 0票数 4

我偶然发现了一篇关于检测VMWare或虚拟PC的文章

http://www.codeproject.com/KB/system/VmDetect.aspx

我看到他们使用了某种try-except语句。

所以我在MSDN中查了一下:http://msdn.microsoft.com/en-us/library/s58ftw19%28v=vs.80%29.aspx

我不明白为什么我要用try-除非是用好的旧的try-catch。它是否只是给我提供了有关异常的附加信息?

如果是这样,我可以在使用附加文章中的代码时使用try-catch,对吗?

谢谢:)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-07 01:32:31

__try/__except是一个try/catch,用于不同类型的异常。您可以捕获硬件异常,如浮点冲突、错误的指针取消引用等,而不是C++异常。这就是所谓的结构化异常处理,或者SEH,如果你知道去哪里看的话,MSDN上有很多关于它的内容。

在这种情况下,他们使用它来检测无效指令。这是他们尝试执行x86不支持的指令的地方,虚拟机使用这些指令。如果你在一个真实的CPU上运行,那么你会得到一个无效的指令异常,如果你在一个虚拟机上运行,你只是和它对话。

票数 6
EN

Stack Overflow用户

发布于 2011-07-07 01:29:41

MSDN通常不清楚所有这一切,但__try/__except处理的异常不是C++异常,而是系统异常。像分割错误这样的东西。

票数 2
EN

Stack Overflow用户

发布于 2011-07-07 01:34:26

__try__exceptstructured exception handling的一部分,这是一个与标准异常处理模型不同的异常处理模型,因为它处理硬件异常的方式与处理软件异常的方式相同,有关信息,请参阅链接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6600507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档