如何让GetLastError返回错误信息

yux007 2003-10-16 03:11:31
我现在只能让它返回错误类型代号,有没有办法让它直接返回错误信息?
...全文
122 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yux007 2003-10-16
  • 打赏
  • 举报
回复
to:sharkhuang(什么都不懂,什么都想学!)
就是你说的意思
to:楼上的,我找到了一个比较简单的方法:
//错误提示
LPVOID lpMsgBuf;
FormatMessage
(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
0, // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
// Process any inserts in lpMsgBuf.
// ...
// Display the string.
MessageBox((LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
// Free the buffer.
LocalFree( lpMsgBuf );
//错误提示结束

大家在调试程序的时候可以把上面的代码加进去,什么都不用改,万试万灵!
widewave 2003-10-16
  • 打赏
  • 举报
回复
const CString& CFunction::GetErrorString(HRESULT hr)
{
USES_CONVERSION;

m_szErrorString = (" ");
char msg[MAX_PATH*5];
DWORD ok = FormatMessage( FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM,
0,
hr,
MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL),
msg, MAX_PATH, 0 );
if( ok )
{
m_szErrorString += msg;
return m_szErrorString;
}

// else try the server
LPWSTR pString = 0;
if( m_pIServer )
{
HRESULT hr1 = m_pIServer->GetErrorString( hr, LOCALE_SYSTEM_DEFAULT, &pString );
if( SUCCEEDED(hr1) )
{
m_szErrorString += pString;
CoTaskMemFree( pString );
}
else
{
m_szErrorString += "Unknown Error.";
}
}
else
{
m_szErrorString += "Unknown Error.";
}

return m_szErrorString;
}
sharkhuang 2003-10-16
  • 打赏
  • 举报
回复
你们没有明白楼主的意思!很多情况下,我们想打印出信息!而不是errnoNO,这样在合作开发和调试(尤其是有专门的test人员的时候)的时候都很方便!

我估计楼主是这个意思吧!我也对这个问题有兴趣!顶!
yndfcd 2003-10-16
  • 打赏
  • 举报
回复
返回错误信息用FormatMessage函数。
yux007 2003-10-16
  • 打赏
  • 举报
回复
回楼上的,HRESULT hr是GetLastError的结果吗?还有,微软提供了一个工具:ERRLOOK很方便,就在tools里面
zgrpmc 2003-10-16
  • 打赏
  • 举报
回复
查msdn,关键字是error codes [Win32]
larryvc 2003-10-16
  • 打赏
  • 举报
回复
at least you should understand english!!!!
yux007 2003-10-16
  • 打赏
  • 举报
回复
我就是不想手动查找,想让它直接返回能让人一看就能明白的信息
larryvc 2003-10-16
  • 打赏
  • 举报
回复
你可以在WINERROR.H中找到错误类型代号定义

69,335

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧