首页 > 代码库 > VC2010 _com_error 返回的错误信息
VC2010 _com_error 返回的错误信息
1 CString GetComError(const _com_error& e) 2 { 3 CString sMsg; 4 sMsg.Format( 5 _T("HRESULT: 0x%08lx; Error: %s"), 6 e.Error(), 7 e.ErrorMessage() 8 ); 9 10 if(e.ErrorInfo())11 {12 sMsg += TEXT("\nSource: ") + CString((LPCTSTR)e.Source()) +13 TEXT("; Description: ") + CString((LPCTSTR)e.Description());14 }15 16 return sMsg;17 }
注意上面红色的地方,要进行数据类型转换,否则会出现乱码。
例如:VC2010 用ADO 连接数据库时,e.Description()前一定要加(LPCTSTR)
1 try 2 { 3 m_pConnection->Open((_bstr_t)lpszConnectString,"","",adModeUnknown); 4 } 5 catch (_com_error &e) 6 { 7 m_strErrorString.Format("%s:%s",e.ErrorMessage(),(LPCTSTR)e.Description()); 8 AfxMessageBox(m_strErrorString); 9 return false;10 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。