美文网首页
SysErrorMessage - C++ Builder

SysErrorMessage - C++ Builder

作者: 玄坴 | 来源:发表于2022-05-09 09:18 被阅读0次

C++ Builder 参考手册System::SysutilsSysErrorMessage


把操作系统错误编码转成错误信息字符串

头文件:#include <System.SysUtils.hpp>
命名空间:System::Sysutils
函数原型:

System::UnicodeString __fastcall SysErrorMessage(unsigned ErrorCode, NativeUInt AModuleHandle = 0);

参数:

  • ErrorCode:通过 GetLastError() 获取的操作系统返回的错误编码;
  • AModuleHandle:如果是 Windows 操作系统,可以通过这个参数指定字符串资源的动态库句柄,其他操作系统无此参数;

返回值:

  • 字符串,通过 GetLastError() 获取的操作系统返回的错误编码转成的错误信息;
  • 只有 Windows 操作系统有 AModuleHandle 参数,其他系统没有这个参数;
  • Windows 操作系统:函数内部通过 FormatMessage 获取错误信息,参数 AModuleHandle 传递给 FormatMessage,如果参数 AModuleHandle 为 0,从操作系统当前语言获取错误信息;其他操作系统:函数通过 strerror_r 实现。

例:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    HANDLE hFile = CreateFile(L"D:\\Temp\\Hsuanlu.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if(hFile == INVALID_HANDLE_VALUE)
    {
        UnicodeString s = SysErrorMessage(GetLastError());
        ShowMessage(s);
        return;
    }
    CloseHandle(hFile);
}

运行结果:

运行结果

相关:


C++ Builder 参考手册System::SysutilsSysErrorMessage

相关文章

网友评论

      本文标题:SysErrorMessage - C++ Builder

      本文链接:https://www.haomeiwen.com/subject/mdidahtx.html