### IAlreadyExists

  IAlreadyExists is an IException derived class. IAlreadyExists provides a message reporting that the function could not create the requested object because the name of the object or its location is already used. You can use instances of this class to signal that your code encounted circumstances causing it to throw the exception. If you want to provide more specific information, IAlreadyExists allows you to construct a custom message and use it instead of the default one.

### IAlreadyExists - Member Functions and Data by Group

### Constructors & Destructor

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

~IAlreadyExists
  Destroys the exception object.

      public:
      virtual ~IAlreadyExists()

  This function destroys an exception created by an IAlreadyExists constructor.

Supported Platforms

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

IAlreadyExists

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

  - Using the constructor where you specify the error text.
  - 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
  Constructs an IAlreadyExists exception with a custom message.

      public:
      IAlreadyExists(const char* text = 0)

  Use this function to create an exception that allows you to specify a customized error message. If you provide one, your error message is used instead of the default message when an object of the same name or location as an existing object is requested.

  text
    The error message to use for this exception. If you do not provide an error message, a default message is used.

Supported Platforms

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

  Overload 2

      public:
      IAlreadyExists(const IAlreadyExists&)

  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

### 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 exception class.

Supported Platforms

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

### IAlreadyExists - Inherited Member Functions and Data

#### Inherited Public Functions

  IAccessError

  -     virtual ~IAccessError()

  -     IAccessError(const IAccessError& exception)

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

  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

#### 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