underflow_error Class
The class serves as the base class for all exceptions thrown to report an arithmetic underflow.
Syntax
class underflow_error : public runtime_error {
public:
explicit underflow_error(const string& message);
explicit underflow_error(const char *message);
};
Remarks
The value returned by what()
is a copy of message.data()
. For more information, see what
and data
.
underflow_error
isn't thrown by any functions in the Microsoft implementation of the C++ Standard Library, but it might be thrown by third-party libraries or user code.
Example
// underflow_error.cpp
// compile with: /EHsc
#include <exception>
#include <iostream>
#include <stdexcept>
#include <typeinfo>
using namespace std;
int main()
{
try
{
throw underflow_error("The number's a bit small, captain!");
}
catch (const exception& e)
{
cerr << "Caught: " << e.what() << endl;
cerr << "Type: " << typeid(e).name() << endl;
}
}
/* Output:
Caught: The number's a bit small, captain!
Type: class std::underflow_error
*/
Requirements
Header: <stdexcept>
Namespace: std
See also
runtime_error Class
Thread Safety in the C++ Standard Library