¿Cómo estás accediendo? ¿ADO, DBExpress?
Utiliza un Try..Except y captura el mensaje de vuelta. Segun la clase podrás acceder al código o en su defecto al mensaje; A partir de ahí podrás personalizar el mensaje:
Código Delphi
[-]
try
ADOQuery1.Update;
except
on E:EOLEException do begin
==> E.ErrorCode Codigo de error.
==> E.Message Mensaje de error
end;
end;
Esto es más o menos lo que puedes utilizar para ADO; Para DbExpress algo similar.