我有一个第三方 COM 组件,它的 c++ 接口在 VC++ 中。我在下面的调用中遇到崩溃,这导致我的应用程序崩溃。我怎样才能从这个不是我的应用程序的一部分的函数中优雅地恢复?
inline _RecordsetPtr IGLibMgr::GetLibInfo ( _bstr_t LibPath ) {
struct _Recordset * _result = 0;
HRESULT _hr = raw_GetLibInfo(LibPath, &_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _RecordsetPtr(_result, false);
}
它在最后一行崩溃。我不认为我可以修改此代码,因为它是第三方 COM 的东西。我真的有什么选择?我只想向用户显示消息框并优雅地返回。