Cita:
Empezado por kalimero
Caption := FloatToStr(1/0);
|
¿Te has fijado en lo que aparece en el caption?
El compilador interpreta 1/0 como la constante INFINITY. INFINITY y NAN (not a number) son valores especiales que define la FPU del procesador.
Según parece, Delphi siempre va a generar una excepción cuando este tipo de valores ocurran, a menos, claro, que el compilador mismo detecte que es una de ellas.
En X/0 no puede determinarlo pues dependiendo del valor de X se obtiene INFINITY o NAN.
Pero esto tiene que ver con la forma en que el FPU trata este tipo de valores. Si pones
Código Delphi
[-]
var
X: Double;
begin
SetExceptionMask([exZeroDivide]);
X := 1;
Caption := FloatToStr(X/0);
end;
verás que ya no salta la excepción y aparece 'INF' en el caption.
// Saludos