#include "serif/utils/misc/finite.hpp" #include enum class [[maybe_unused]] TestErrorCode { NotFinite }; namespace { class test_exception : public std::runtime_error { public: test_exception(TestErrorCode error_code, const std::string& message) : std::runtime_error(message), m_error_code(error_code) {} TestErrorCode error_code() const noexcept { return m_error_code; } private: TestErrorCode m_error_code; }; } int main() { double a = std::numeric_limits::infinity(); serif::utils::misc::validate_finite(a, TestErrorCode::NotFinite); }