Ver Mensaje Individual
  #2  
Antiguo 26-11-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.287
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por neon
¿Sabeis que tipo de excepcion lanza delphi cuando se hace una violación de la clave primaria?
Bueno depende de la BAse de Datos, pero lo normal es que sea un EOleException (si trabajas con ADO), EIBError o derivado (si trabajas con InterBase), EDataBaseError con BDE,...

Para saberlo exactamente puedes capturar la excepción como Exception (genérica y mostrar la clase); Algo Así:

Código Delphi [-]
try
   ....LINEA QUE TE DA LA EXCEPCION!!!
except
  on E:Exception do begin
 
    MessageDlg(Format('Clase:%s   Mensaje:%s',[E.ClassName, E.Message]), mtError, [mbOK], 0);
 
  end;
end;

Una vez que sepas la clase puedes capturar la excepción afinando más (cambias el On E:Exception por la clase correspndiente).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita