【问题标题】:How to capture an exception created by an event in Delphi如何在 Delphi 中捕获由事件创建的异常
【发布时间】:2014-05-25 02:22:53
【问题描述】:
我正在使用第三方组件在 Delphi 中使用正则表达式创建掩码,问题是当用户在编辑框中输入的值与掩码不匹配时,组件会引发异常,我不知道如何在第三方组件内的事件中发生异常时捕获它。
如何捕捉和处理这种异常?因为我不能在它周围有一个 try 块?
【问题讨论】:
标签:
delphi
events
exception
exception-handling
delphi-xe
【解决方案1】:
要更改组件的行为,您应该创建一个继承自初始组件的新组件。在新组件中,您覆盖需要具有其他行为的方法。
但是,这并不总是可行的,具体取决于组件的编写情况。
例如,可能有一个 EditExitHandler 来处理离开编辑时发生的事情。在您继承的组件中,您可以编写如下内容:
procedure TMyComponent.EditExitHandler(Sender : TObject);
begin
try
inherited EditExeitHandler(Sender);
except
// Add code here to handle the exception which annoys you
end;
end;