Ver Mensaje Individual
  #4  
Antiguo 02-06-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Reputación: 26
ContraVeneno Va por buen camino
Código Delphi [-]
...
except on E: Exception do begin
  Showmessage(E.ClassName+' - '+E.Message+' - '+E.ErrNum);
  raise Exception.CreateFmt(QY_150, [WaybillNo]);
 end; //execption 
      end; //try

Es poco recomendable que utilizes E:Exception ya que pase lo que pase, capturaras el error y podría ser un error que no deseas. En este caso lo estamos utilizando para obtener el ClassName y el ErrNum. Pero una vez que tengas estos dos datos, lo mejor es que utilizes los mismos para capturar el error que deseas. es decir:

Código Delphi [-]
try
    ExecSQL; //Instrucción insert
except on E:EDBEngineError do begin
     If E.Errors[0].ErrorCode = 9729 then begin
      showmessage('llave duplicada');
   end else begin
      Raise;
    end; //errorcode
end; //Fin try
__________________

Responder Con Cita