Hola,
Probablemente no sea el método más correcto.
Yo lo que hice fue implementar una función que recibía el
E.message y evaluaba parte de su contenido. Posteriormente retornaba un mensaje más apropiado para el usuario.
Código Delphi
[-]if pos('Key vialation', stMessage) >0 Then
result := 'Clave duplicada';
Un Saludo.