LPTSTR lpMsgBuf;
DWORD nErrno = GetLastError();
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
nErrno,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&lpMsgBuf,
0,
NULL
);
MessageBox(NULL, (LPCTSTR)lpMsgBuf, TEXT("NamedPipe Error"),
MB_OK | MB_ICONINFORMATION );
LocalFree(lpMsgBuf);在WINDOWS环境中编写应用程序时和Linux一样,经常需要涉及到错误处理问题。许多函数调
用只用TRUE和FALSE来表明函数的运行结果,这个和Linux很像 在Linux中是 0 和 -1。一旦出现错
误,MSDN中往往会指出请用GetLastError()函数来获得错误原因,而Linux里面是用 errno来指定错
误的类型。
本文介绍了在Windows环境下进行应用程序开发时如何处理错误。通过使用GetLastError()和FormatMessage()函数组合,可以有效地展示错误信息给用户。这种方法类似于Linux中的errno机制。
935

被折叠的 条评论
为什么被折叠?



