关闭

善用GetLastError函数

标签: nullbuffersystem编程
6650人阅读 评论(1) 收藏 举报
分类:

      在编程过程中,当程序出现错误,却又不知道错误的原因时,可以使用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);
  }

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:147629次
    • 积分:1911
    • 等级:
    • 排名:千里之外
    • 原创:40篇
    • 转载:29篇
    • 译文:0篇
    • 评论:53条
    最新评论
    英语学习网站