编者:李国帅


背景:

Vc中,碰到线程异常,网络异常,或者程序错误,可以使用try…catch捕捉到一个错误代码,也可以使用GetLastError()函数获取最近的一个错误代码,然后使用FormatMessage函数获取到错误的文字描述。

下面给出一个弹出错误的方法。

函数:

void showErrMessage(int errNO)

{

LPVOID lpMsgBuffer;

DWORD dwRet=FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |

FORMAT_MESSAGE_FROM_SYSTEM,

NULL,

errNO,//1001,//错误编号

MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),

reinterpret_cast<LPTSTR>(&lpMsgBuffer),

0,

NULL);


MessageBox(0, reinterpret_cast<LPTSTR>(lpMsgBuffer), "ERROR", MB_OK);

LocalFree(lpMsgBuffer);

}