次の方法で共有


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++ 標準ライブラリ内のスレッド セーフ