ShowException - C++ Builder

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


显示异常提示信息和产生异常的地址

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

void __fastcall ShowException(System::TObject *ExceptObject, void *ExceptAddr);

参数:

  • ExceptObject:产生异常的对象;
  • ExceptAddr:产生异常的地址;

返回值:

  • 函数无返回值,显示异常提示信息和产生异常的地址;
  • 如果是窗口程序,函数内部通过 MessageBox 显示异常信息;
  • 如果是控制台程序,异常信息输出到标准错误输出设备。如果是 Windows 操作系统,这个函数内部通过调用 API 函数 GetStdHandle(STD_ERROR_HANDLE) 获取这个设备,默认为控制台屏幕输出;
  • 这个函数内部通过调用 ExceptionErrorMessage 获取异常信息;
  • 如果要使用与 ShowException 不同的输出方式,可以直接通过 ExceptionErrorMessage 函数获取异常信息;
  • 产生异常的对象可以通过 System::ExceptObject() 获取,产生异常的地址可以通过 System::ExceptAddr() 获取。

例子:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    try
    {
        HANDLE hFile = CreateFile(L"D:\\Temp\\Hsuanlu.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
        CheckOSError(GetLastError());
        CloseHandle(hFile);
    }
    catch(...)
    {
        TObject *pObj = System::ExceptObject();
        void *pAddr = System::ExceptAddr();
        ShowException(pObj, pAddr);
    }
}

运行结果:

运行结果

相关:


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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容