Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Directiva para que no pare (https://www.clubdelphi.com/foros/showthread.php?t=93742)

tarco35 08-02-2019 11:37:51

Directiva para que no pare
 
Hola, tengo el siguiente codigo:
Código Delphi [-]
Function FechaValida(Fecha:String):Boolean;
Var
 Buena:boolean;
Begin
  Buena:=true;
  {$R-}
  try
    StrToDate(Fecha);
  except
    on E: EConvertError do Buena:=False;
  end;
  {$R+}  
  FechaValida :=buena;
End;

El caso es que aunque tengo la directiva de chequeo de rango, cuando introduzco mal la fecha, desde el entorno de delphi 6, se me para y me lanza una "raised exception" de fecha no valida... Si lo ejecuto desde windows no hay problema... Hay alguna directiva para que no se me pare y tenga que darle OK para continuar???
Gracias

movorack 08-02-2019 13:28:26

Cuando haces el debug, aparecerán los errores a menos que omitas la generación de ese tipo de error en particular.
Cosa que no recomiendo.

Por otro lado... puedes usar TryStrToDate

Cita:

Empezado por tarco35 (Mensaje 530592)
Código Delphi [-]
Function FechaValida(Fecha:String):Boolean;
Var
 lDt:TDateTime;
Begin
  Result := TryStrToDate(Fecha, lDt);
End;


Neftali [Germán.Estévez] 12-02-2019 17:57:35

En las opciones del entorno, puedes desactivar que las excepciones "salten" cuando estás ejecutando desde el IDE de Delphi; Aunque personalmente no te lo recomiendo, ya que te puede ayudar a encontrar errores y te permite revisar las excepciones que están ocurriendo en el programa, aunque luego estén capturadas.
De todas formas, si aun así lo necesitas, en la configuración se pueden desactivar por tipos o Todas.


tarco35 17-02-2019 19:41:45

ok, gracias

mamcx 18-02-2019 02:16:30

Haciendo "trucos" no es la forma correcta. Ignorar excepciones es uno de los anti-patrones mas grandes que se pueden cometer. En vez, escribe el código correcto (que ademas, ya te lo solucionaron)

tarco35 18-02-2019 10:54:56

mamcx, lo que queria es que el entorno no parara y por supuesto tener la excepcion controlada, pero sin desactivar otros posibles errores.

mamcx 18-02-2019 17:33:24

Pero eso lo logras sin necesidad de truquear el compilador, usando código adecuado.


La franja horaria es GMT +2. Ahora son las 16:24:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi