我目前有代码,例如
IAcctMaintPtr acct(__uuidof(AcctMaint));
acct->GetAccountList(q);
现在这段代码需要外部应用程序运行,否则在第一个语句后我得到一个异常陈述
myapp.exe中0x7739c41f(KernelBase.dll)的未处理异常:Microsoft C ++异常:内存位置为0x003ccefc的_com_error ..
我尝试catch( const std::exception& )
但这似乎不起作用 - 异常没有被抓住。
有关如何捕获此异常的任何建议吗?
答案 0 :(得分:4)
_com_error并非来自std::exception,但您可以明确地抓住它:
try {
IAcctMaintPtr acct(__uuidof(AcctMaint));
acct->GetAccountList(q);
} catch (_com_error& x) {
// Handle error in 'x'...
}