Определяет тип объекта, который бросается как исключение. Его можно использовать для сообщения об арифметических ошибках потери значимости (то есть в ситуациях, когда результатом вычисления является субнормальное значение с плавающей запятой).
Компоненты стандартной библиотеки не генерируют это исключение (математические функции сообщают об ошибках потери значимости, как указано в math_errhandling). Однако сторонние библиотеки используют его. Например, boost.math генерирует std::underflow_error, если boost::math::policies::throw_on_error включено (настройка по умолчанию).