System.Math.TArithmeticException
Delphi
TArithmeticException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
C++
enum DECLSPEC_DENUM TArithmeticException : unsigned char { exInvalidOp, exDenormalized, exZeroDivide, exOverflow, exUnderflow, exPrecision };
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
enum | public | System.Math.pas System.Math.hpp |
System.Math | System.Math |
Description
Enumeration that holds values representing floating-point exceptions.
The FPU (Floating Point Unit) handles floating-point calculations on 32-bit systems and the SSE (Streaming SIMD Extensions) handles floating-point calculations on 64-bit systems. You can prevent exceptions from occuring by using SetExceptionMask to mask some or all of them on both FPU and SSE.
When an exception is masked, the FPU or SSE returns its best attempt at a value – often NaN, Infinity, or NegInfinity. The value depends on the operation and the current rounding mode (see GetRoundMode and SetRoundMode).
The defined values are listed in the following table:
Value | Meaning |
---|---|
exInvalidOp |
An invalid operation was attempted. |
exDenormalized |
A number was reduced in size smaller than can be stored as non-zero. It has been denormalized. |
exZeroDivide |
An attempt was made to divide by zero. |
exOverflow |
A number has exceeded the highest positive value supported. |
exUnderflow |
A number has exceeded the highest negative value supported. |
exPrecision |
A number has exceeded the number of digits of precision. |