gpt4 book ai didi

c++ - Microsoft ATL 等同于 Borland OleCheck 函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:00:04 34 4
gpt4 key购买 nike

Borland C++ Builder 提供函数OleCheck(HRESULT Result);。它在文档中的描述是这样的:

OleCheck is used to wrap many COM routines, so that if that routine fails, users will have an opportunity to handle it in the resulting exception that is raised.

If ECode is a value less than zero, OleCheck raises an EOleSysError exception that specifies the error code.

如果函数返回失败状态值,建议使用什么函数或习惯用法与 Microsoft ATL 一起抛出异常?我想避免在这样的代码中混合使用 Borland 和 Microsoft 库:

CComPtr<Outlook::Explorers> spExplorers;
OleCheck(m_spApp->get_Explorers(&spExplorers));

最佳答案

ATL 中没有这样现成的东西。最接近的是 AtlThrow()它会抛出异常(无条件地),但检查仍然取决于您 - 您可以查看 ATL 本身如何使用 AtlThrow()

所以 IMO 你最好的选择是制作你自己的函数 - 它将接受 HRESULT 并调用 AtlThrow()HRESULT 的一些其他异常抛出构造通过 FAILED 宏评估为 false

关于c++ - Microsoft ATL 等同于 Borland OleCheck 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682982/

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