GetLastError()에서 반환된 오류 코드를 해석하는 방법
Windows API 호출을 호출한 후 개발자는 기본 오류를 이해하는 데 오류 상황이 발생할 수 있습니다. 실패 이유가 결정적이다. 기본 Win32 API 함수 GetLastError()는 오류 코드를 제공하지만 이 코드는 정수로 표시되어 의미를 해독하기 어렵습니다.
오류 코드를 텍스트 메시지로 변환
사람이 읽을 수 있는 오류 메시지를 얻으려면 개발자는 이러한 숫자 오류 코드를 텍스트 설명으로 변환하는 메커니즘이 필요합니다. 아래 코드 조각은 이 변환 프로세스를 보여줍니다.
#include <windows.h> #include <string> std::string GetLastErrorAsString() { // Retrieve the error message ID, if available. DWORD errorMessageID = ::GetLastError(); if (errorMessageID == 0) { return std::string(); // No error message has been recorded. } LPSTR messageBuffer = nullptr; // Instruct Win32 to generate the message string for the provided error ID. size_t size = FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorMessageID, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL); // Transfer the error message into a std::string. std::string message(messageBuffer, size); // Deallocate Win32's message buffer. LocalFree(messageBuffer); return message; }
사용법:
이 함수를 활용하려면 다음을 반환할 수 있는 API 호출 후에 GetLastErrorAsString()을 호출하면 됩니다. 오류 코드. 텍스트 오류 메시지가 포함된 std::string을 반환하며, 이는 사용자에게 표시되거나 추가 진단을 위해 기록될 수 있습니다.
위 내용은 Windows GetLastError() 오류 코드를 사람이 읽을 수 있는 메시지로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!