Если ваша реализация стандартной библиотеки C ++ поддерживает функции TR1
fetestexcept
, feraiseexcept
и feclearexcept
(у меня еще нет, поэтому я не могу это проверить), вы можете обнаружить пять видов ошибок с плавающей запятой, а затем можете выдавать любые исключения, какие захотите.
См. здесь для описания этих функций.
Я также рекомендую раздел 12.3 «Управление средой с плавающей запятой» книги Расширения стандартной библиотеки C ++: учебное пособие и справочник , автор Pete Becker, ISBN-13: 9780321412997, для превосходного описания из этих функций с примером кода.