gpt4 book ai didi

c++ - __try/__except block 或 try/catch block 哪个更好用?

转载 作者:IT老高 更新时间:2023-10-28 12:52:20 25 4
gpt4 key购买 nike

我想知道捕获我抛出的异常的更好方法是:它是 __try/__except block 还是 try/catch block ?

我是用 C++ 编写的,该程序只能在 Windows 上使用,所以可移植性不是问题。

谢谢!

最佳答案

它们是两个非常不同的东西。 try/catch 是您熟悉的 C++ 关键字。 __try/__except 用于捕获 SEH 异常。 Windows 本身引发的异常,例如 DivisionByZero 或 AccessViolation。 MSDN Library article 中有详细描述。为它。

您还可以使用它来捕获 C++ 异常,因为它利用了 Windows SEH 功能。但是,您无法从中获取抛出的异常对象,因此如果您确实想要处理异常,则上下文为零。这是疯狂。第一种方法是永远不要捕获 SEH 异常,它们总是很严重。如果您确实需要将两者结合起来,请使用 _set_se_translator() 将 SEH 异常转换为 C++ 异常。

关于c++ - __try/__except block 或 try/catch block 哪个更好用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3730654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com