System.Math.TArithmeticException

From RAD Studio API Documentation
Jump to: navigation, search

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.

See Also