GetLastError()返回错误对照函数

原创 2005年05月01日 15:33:00

      

       在VC中编写应用程序时,经常需要涉及到错误处理问题。许多函数调用只用TRUE和FALSE来表明函数的运行结果。一旦出现错误,MSDN中往往会指出请用GetLastError()函数来获得错误原因。
        可问题是,GetLastError()返回的只是一个双字节数值(DWORD)。OH,MY GOD!目前Win32的出错编号已经从0排到11031,而这还不是错误编码的全部。因为错误代码还在不断增加。
        我想没有人愿意自己去查出错编码所对应的错误信息。好在Windows(Windows95以上, Window NT 3.1以上)已经提供了现成的错误信息处理函数:FormatMessage()。 以下是用FormatMessage()得到由GetLastError()返回的出错编码所对应错误信息的示例:
    LPVOID lpMsgBuf;
    FormatMessage(
     FORMAT_MESSAGE_ALLOCATE_BUFFER |
     FORMAT_MESSAGE_FROM_SYSTEM |
     FORMAT_MESSAGE_IGNORE_INSERTS,
     NULL,
     GetLastError(),
     MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
     (LPTSTR) &lpMsgBuf,
     0,
     NULL
    );
    
    // Process any inserts in lpMsgBuf.
    // ...
    
    // Display the string.
    MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
    
    // Free the buffer.
    LocalFree( lpMsgBuf );
    不过有一点比较可笑,“该函数调用如果出错,将返回0值,需要获取错误信息,请调用GetLastError()”。

GetLastError函数使用及返回代码对照

DWORD i  =  ::GetLastError();      功能:查询LoadIcon()函数返回的错误值   〖0〗-操作成功完成。   〖1〗-功能错误。   〖2〗-系统找不...

GetLastError返回错误代码对应的意思0-3099

〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存...

错误代码中文查询GetLastError返回代码的含义

〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 ...

关于MFC中GetLastError函数返回值的含义(仅供参考)

调用例子:DWORD dw;dw = GetLastError();  sprintf(szBuf, "GetLastError returned %u\n", dw); 〖0〗-操作成功...

Windows 的GetLastError()函数返回值之含义

Windows 的GetLastError()函数返回值之含义 〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系...

GetLastError()错误代码意义

  • 2012年07月11日 16:28
  • 722B
  • 下载

GetLastError()错误编号及意义

〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存...

Windows核心编程学习笔记(1)--显示GetLastError错误的详细信息

Drecik学习经验分享 转载请注明出处:http://blog.csdn.net/drecik__/article/details/8078785   使用函数FormatMessage函数来...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GetLastError()返回错误对照函数
举报原因:
原因补充:

(最多只允许输入30个字)