如何捕获Delphi中事件创建的异常

时间:2014-04-11 05:07:40

标签: delphi events exception exception-handling delphi-xe

我正在使用第三方组件在Delphi中使用正则表达式创建掩码,问题是如果输入的值与用户在编辑框中生成的掩码不匹配组件引发异常并且我不知道如何在第三部分组件内的事件中发生异常时捕获它。

我如何捕捉并处理这种异常?因为我无法尝试阻止它?

2 个答案:

答案 0 :(得分:4)

要更改组件的行为,您应该创建一个继承自初始组件的新组件。在新组件中,您将覆盖需要具有其他行为的方法。

但是,这并不总是可行的,这取决于组件的写入程度。

例如,可能有一个EditExitHandler可以处理编辑离开时发生的情况。在继承的组件中,您可以编写如下内容:

procedure TMyComponent.EditExitHandler(Sender : TObject);
begin
    try
        inherited EditExeitHandler(Sender);
    except
        // Add code here to handle the exception which annoys you
    end;
end;

答案 1 :(得分:0)

您可以使用TApplicationEvents.OnException event。在应用程序运行时,只要出现未处理的异常,就会调用它。