善用GetLastError函数

原创 2006年05月21日 14:25:00

      在编程过程中,当程序出现错误,却又不知道错误的原因时,可以使用GetLastError函数,它可以帮助你快速找到出错的原因和语句。
      可以直接使用GetLastError函数得到错误代码,然后查找MSDN找到代码对应的错误原因,也可使用下面函数直接把错误原因显示出来:

void ShowErrMsg()
{
    TCHAR szBuf[80];
    LPVOID lpMsgBuf;
    DWORD dw = GetLastError();

    FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER |
        FORMAT_MESSAGE_FROM_SYSTEM,
        NULL,
        dw,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR) &lpMsgBuf,
        0, NULL );

      MessageBox(NULL, lpMsgBuf, "系统错误", MB_OK|MB_ICONSTOP);

    LocalFree(lpMsgBuf);
  }

然后根据错误的原因查找是哪条语句执行了相关操作,传入的参数是否正确等,就可以修正错误了。

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

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

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

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

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

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

GetLastError 错误码中文解析

  • 2011年08月20日 08:48
  • 384KB
  • 下载

GetLastError()错误代码意义

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

GetLastError()返回代码值详解

调用方法: 错误代码中文查询GetLastError返回代码的含义 hIcon = ::LoadIcon(AfxGetInstanceHandle() /* (HINSTANCE)m_hWnd ...
  • bjtbjt
  • bjtbjt
  • 2012年02月14日 13:23
  • 4673

GetLastError返回值的意义

  • 2012年07月11日 16:31
  • 98KB
  • 下载

Visual Studio 2010报错——GetLastError()=716

前几天,打算给项目里加一个特殊处理的类,使用了快捷键Ctrl+Shift+x,想要打开MFC Class Wizard,可是却得到一个报错,缺少资源,文件被污染等等。 后来,我又多次打开,都是这样,...

GetLastError_API

  • 2014年09月12日 16:30
  • 30KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:善用GetLastError函数
举报原因:
原因补充:

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