如何捕获keyUnique设为True时TValueListEditor抛出的异常?
TValueListEditor重复键异常区分问题
问题背景
启用TValueListEditor的keyUnique属性以防止重复键,但该组件触发的异常无唯一异常类,无法与程序中其他异常区分,导致针对重复键的精准异常处理难以实现。
已尝试的全局异常捕获方案
public { Public declarations } procedure MyExcept(Sender : TObject; E : Exception ); procedure TForm2.MyExcept(Sender: TObject; E: Exception); begin ShowMessage(E.Message); end; procedure TForm2.FormCreate(Sender: TObject); begin Application.OnException := MyExcept; end;
补充说明
- 当
keyUnique设为True时,VCL内部会自动移除重复项,因此异常无唯一类的实际影响比预期小; - 该异常不会导致程序崩溃,VCL会在内部捕获异常并显示提示信息,用户可继续正常操作。
内容的提问来源于stack exchange,提问作者ALT user
相关产品推荐
相关产品推荐

