### IOutOfMemory

  The IOutOfMemory class represents an exception. The Open Class Library's new_handler function creates an object of the IOutOfMemory class when heap memory is exhausted.

### IOutOfMemory - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class. You cannot assign one IOutOfMemory object from another.

~IOutOfMemory

      public:
      virtual ~IOutOfMemory()

  Destroys the exception object.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

IOutOfMemory

  You can create objects of this class by doing the following:

  - Using the constructor where you specify the error text, error ID, and severity.
  - Using the macros discussed in IException. The Open Class Library provides these macros to make creating exceptions easier for you.

  You can also copy an instance of this exception class.

  Overload 1

      public:
      IOutOfMemory(const IOutOfMemory& exception)

  The copy constructor is provided so that the compiler can make copies of the object during the throwing of an exception.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      IOutOfMemory( const char* errorText,
                    unsigned long errorId = 0,
                    Severity severity = IException::unrecoverable )

  errorText
    The text describing this particular error.
  errorId
    The identifier you want to associate with this particular error.
  severity
    Use the enumeration IException::Severity to specify the severity of the error. The default is unrecoverable.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Exception Type

Use these members to determine the name (type) of the exception. They are used for logging out an exception object's error information.

name

      public:
      virtual const char* name() const

  Returns the name of the object's class.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### IOutOfMemory - Inherited Member Functions and Data

#### Inherited Public Functions

  IException

  -     virtual ~IException()

  -     virtual IException&
          addLocation( const IExceptionLocation& location )

  -     IException& appendText(const char* errorText)

  -     static void
          assertParameter( const char* exceptionText,
                           IExceptionLocation location )

  -     ErrorCodeGroup errorCodeGroup() const

  -     unsigned long errorId() const

  -     IException(const IException& exception)

  -     IException( const char* errorText,
                    unsigned long errorId = 0,
                    Severity severity = IException::unrecoverable )

  -     virtual int isRecoverable() const

  -     const IExceptionLocation*
          locationAtIndex( unsigned long locationIndex ) const

  -     unsigned long locationCount() const

  -     virtual IException& logExceptionData()

  -     IException& setErrorCodeGroup(ErrorCodeGroup errorGroup)

  -     IException& setErrorId(unsigned long errorId)

  -     IException& setSeverity(Severity severity)

  -     IException& setText(const char* errorText)

  -     static IException::TraceFn*
          setTraceFunction( IException::TraceFn& traceFunction )

  -     virtual void terminate()

  -     const char* text(unsigned long indexFromTop = 0) const

  -     unsigned long textCount() const

  IResourceExhausted

  -     virtual ~IResourceExhausted()

  -     IResourceExhausted(const IResourceExhausted& exception)

  -     IResourceExhausted( const char* errorText,
                            unsigned long errorId = 0,
                            Severity severity = IException::unrecoverable )

#### Inherited Public Data

  IException

  -     static ErrorCodeGroup const baseLibrary

  -     static ErrorCodeGroup const CLibrary

  -     static ErrorCodeGroup const operatingSystem

  -     static ErrorCodeGroup const other

  -     static ErrorCodeGroup const presentationSystem

#### Inherited Protected Functions

  - None

#### Inherited Protected Data

  - None