1
{ Source provided for Free Pascal Bug Report 3157 }
2
{ Submitted by "Michalis Kamburelis" on 2004-06-11 }
3
{ e-mail: michalis@camelot.homedns.org }
16
SetExceptionMask(GetExceptionMask - [exOverflow,exUnderflow,exPrecision]);
18
{ cosh(800) =~ 1.36E+0347, this will fit in Extended but will
19
not fit in Single or Double.
20
So instruction below should raise Floating point overflow.
21
But it does not (yet). }
26
Writeln('Line "c:=..." raised ' +E.ClassName+ ': ' +E.Message);
33
{ This innocent instruction will raise EOverflow exception.
35
Note: if this will be changed to "Round(9/200)" then
36
this whole program will run with no exception
37
(I guess that it's because "Round(9/200)" will be calculated
39
temp_int:=Round(temp_float);
43
Writeln('Line "temp_int:=..." raised ' +E.ClassName+ ': ' +E.Message);