c++ - VCL 中的 Application.DispatcherUnhandledException

标签 c++ vcl c++builder-6

在 WPF(.net) 中,我可以使用以下代码来处理意外异常并正确退出我的程序。

private void Application_Startup(object sender, StartupEventArgs e) {    
    this.DispatcherUnhandledException += App_DispatcherUnhandledException
}

private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) {
    // handle unhandled exception 
}

在 VCL 中也可以使用类似的东西吗?或者甚至在标准 C++ 中?

最佳答案

查看 TApplication::OnException 事件(也是 TApplicationEvents 包装器组件),例如:

__fastcall TMainForm::TMainForm(TComponent *Owner)
    : TForm(Owner)
{
    Application->OnException = &AppException;
}

__fastcall TMainForm::~TMainForm()
{
    Application->OnException = NULL;
}

void __fastcall TMainForm::AppException(TObject *Sender, Exception *E)
{
    // handle unhandled exception 
}

关于c++ - VCL 中的 Application.DispatcherUnhandledException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24163683/

相关文章:

Delphi 元素对齐方式 - 居中

c++ - 为什么我不能将非整数类型与开关一起使用

c++ - 理解 LRU 算法

delphi - 复合组件的选择框未正确绘制

delphi - 我可以在调试 C++ 应用程序时单步执行 VCL (Pascal) 代码吗?

migration - C++ Builder XE 无法成功从 BCB6 转换项目

c++ - vector/算法与 iostream 之间的不兼容性

c++ - 将非常大且旧的 C++Builder 代码移植/重新编码到 Qt 或 CLI/Mono

c++ - C++类定义中的第三个词

c++ - 写入内存映射文本文件并打印 NULL 直到映射内存末尾