次の方法で共有


length_error Class

クラスは、指定するオブジェクトを長すぎる生成する操作を報告するためにスローされたすべての例外の基本クラスとして機能します。

class length_error : public logic_error {
public:
    explicit length_error(const string& message);
    explicit length_error(const char *message);
};

解説

exception Class によって返される値は、message.データのコピーです。

使用例

// length_error.cpp
// compile with: /EHsc /GR /MDd
#include <vector>
#include <iostream>

using namespace std;

template<class _Ty>
class stingyallocator : public allocator<_Ty>
{
public:
   template <class U>
      struct rebind { typedef stingyallocator<U> other; };
   _SIZT max_size( ) const
   {
         return 10;
   };

};

int main( )
{
   try
   {
      vector<int, stingyallocator< int > > myv;
      for ( int i = 0; i < 11; i++ ) myv.push_back( i );
   }
   catch ( exception &e )
   {
      cerr << "Caught " << e.what( ) << endl;
      cerr << "Type " << typeid( e ).name( ) << endl;
   };
}
  

必要条件

Header: <stdexcept>

名前空間: std

参照

関連項目

logic_error Class

C++ の標準ライブラリのスレッド セーフ