Поскольку double является примитивным типом, операции с ним не генерируют исключений C++. Однако, могут возникать особые значения, такие как:
NaN (Not a Number): результат некорректной математической операции (например, деление нуля на ноль).Infinity: результат деления ненулевого числа на ноль.Для их проверки используются функции из <cmath> (или <math.h> в C):
isnan(x): возвращает true, если x является NaN.isinf(x): возвращает true, если x является бесконечностью.isfinite(x): возвращает true, если x не является NaN и не является бесконечностью.Пример использования:
cpp