length_error Class
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

length_error Class 

The class serves as the base class for all exceptions thrown to report an attempt to generate an object too long to be specified.


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

The value returned by what is a copy of message.data.

// length_error.cpp
// compile with: /EHsc /GR
#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;
   };
}

Sample Output

Caught vector<T> too long
Type class std::length_error

Header: <stdexcept>

Show:
© 2016 Microsoft