转 VC其它-善用GetLastError函数

转 VC其它-善用GetLastError函数

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


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

你可能感兴趣的:(转 VC其它-善用GetLastError函数)