Hola, has visto el mensaje de la excepción?
Como dice DarKraZY, "EDataBaseError" es una clase de exception que detecta cualquier error relacionado con la base de datos.
Deberías visualizar el mensaje de la excepción:
Código Delphi
[-]
procedure TForm1.error(Sender: TObject; E: Exception);
begin
if E.ClassNameIs('EConvertError')
then MessageDlg('No que no!!! '+E.Message,mtWarning,[mbYes],0)
else
if E.ClassNameIs('EDataBaseError')
then MessageDlg('Clave duplicada: '+E.Message,mtWarning,[mbYes],0)
else
if E.ClassNameIs('AspGridInsertError')
then MessageDlg('intentando borrar '+E.Message,mtWarning,[mbYes],0);
ADOTable1.Cancel;
end;
Salu2.