Класс overflow_error
Этот класс служит базовым для всех исключений, создаваемых для сообщения об арифметическом переполнении.
Синтаксис
class overflow_error : public runtime_error {
public:
explicit overflow_error(const string& message);
explicit overflow_error(const char *message);
};
Замечания
Возвращаемое what()
значением является копия message.data()
. Дополнительные сведения см. в разделах what
и data
.
Пример
// overflow_error.cpp
// compile with: /EHsc
#include <bitset>
#include <exception>
#include <iostream>
#include <typeinfo>
using namespace std;
int main()
{
try
{
bitset<33> b;
b[32] = 1;
b[0] = 1;
unsigned long x = b.to_ulong();
}
catch (const exception& e)
{
cerr << "Caught: " << e.what() << endl;
cerr << "Type: " << typeid(e).name() << endl;
}
}
/* Output:
Caught: bitset overflow
Type: class std::overflow_error
*/
Требования
Заголовок:<stdexcept>
Пространство имен: std
См. также
Класс runtime_error
Потокобезопасность в стандартной библиотеке C++