轉(zhuǎn) VC其它-善用GetLastError函數(shù)
在編程過程中,當(dāng)程序出現(xiàn)錯(cuò)誤,卻又不知道錯(cuò)誤的原因時(shí),可以使用GetLastError函數(shù),它可以幫助你快速找到出錯(cuò)的原因和語句。
可以直接使用GetLastError函數(shù)得到錯(cuò)誤代碼,然后查找MSDN找到代碼對(duì)應(yīng)的錯(cuò)誤原因,也可使用下面函數(shù)直接把錯(cuò)誤原因顯示出來:
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, "系統(tǒng)錯(cuò)誤", MB_OK|MB_ICONSTOP);

LocalFree(lpMsgBuf);
}

可以直接使用GetLastError函數(shù)得到錯(cuò)誤代碼,然后查找MSDN找到代碼對(duì)應(yīng)的錯(cuò)誤原因,也可使用下面函數(shù)直接把錯(cuò)誤原因顯示出來:






















然后根據(jù)錯(cuò)誤的原因查找是哪條語句執(zhí)行了相關(guān)操作,傳入的參數(shù)是否正確等,就可以修正錯(cuò)誤了。
posted on 2008-09-11 09:59 wrh 閱讀(546) 評(píng)論(0) 編輯 收藏 引用