# Talk:Floating-Point Exceptions

System.Math.EInvalidArgument is NOT "Floating-Point Exceptions" Please remove EInvalidArgument from this table.

For example,
System.Math.SLNDepreciation
will raise EInvalidArgument if **integer** type parameter Life is zero or negative.

In this case, Life is integer ( the number of years of useful Life of the asset ). and the period of life is not ZERO and negative number.

So EInvalidArgument is one of mathematical error exception, but is is NOT a floating-point (calculation) error exception.

--Tarisawa (talk) 23:48, 17 February 2015 (PST)

Please use the following table.

Exception Class | Description |
---|---|

System.SysUtils.EInvalidOp | Undefined floating-point instruction,
invalid mathematical operation, For example, √(-1), atan(10), 0/0, or Partial Loss of Precision |

System.SysUtils.EZeroDivide | Floating-Point Exception: Divide by 0 |

System.SysUtils.EOverflow | Floating-Point Exception: Overflow |

System.SysUtils.EUnderflow | Floating-Point Exception: Underflow |