Buen día, una solución podría ser capturando el error en el evento OnError del TFDConnection
Código Delphi
[-]
procedure TFDConnection.FDConnectionOnError(ASender,
AInitiator: TObject; var AException: Exception);
var
oExc: EFDDBEngineException;
begin
if (AException is EFDDBEngineException) and (EFDDBEngineException(AException).Kind = ekRecordLocked) then
AException.Message := 'Please, try the operation later. At moment, the record is busy';
if AException is EFDDBEngineException then
begin
oExc := EFDDBEngineException(AException);
if oExc.Kind = ekRecordLocked then
oExc.Message := 'Mensaje cuando el registro está bloqueado'.
else
if (oExc.Kind = EkServerGone) then oExc.Message := 'No hay Conexión a la base de datos'
else
oExc.Message:= 'Sucedio Otro tipo de error del lado del Servidor' ;
end;
end;