Hola,
con try ... except. Ejemplo ...
Código:
try
...
// intento de envío de actualización al servidor
MiDataset.Post;
...
except
on E:EIBError do // error InterBase
begin
if E.IBError.Code = <codigo_error_clave_duplicada> then
// no recuerdo ahora cúal es, pero una
de las units de IBX tienes una constante
...
ShowMessage('Clave duplicada ...');
...
end;
Else Raise; // no es error InterBase
end;
Saludos.