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).