### ICannotProceed

  Creates an ICannotProceed exception object. The ICannotProceed exception creates an errror message that you can use to report that your code encountered a situation prohibiting it from completing an operation. You should throw this exception when it may be possible to complete the operation another way or recover from the error condition.

  If you want to provide a specific, detailed exception message, ICannotProceed allows you to construct one and use it instead of the default message.

  Using inherited member functions, you can obtain an error ID identifying what error caused the exception and a severity code identifying whether the exception can be recovered from.

### ICannotProceed - Member Functions and Data by Group

### Constructors & Destructor

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

~ICannotProceed
  Destroys the exception object.

      public:
      virtual ~ICannotProceed()

  This function destroys an exception object created by an ICannotProceed constructor.

Supported Platforms

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

ICannotProceed

  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
  Copy constructor.

      public:
      ICannotProceed(const ICannotProceed&)

  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
  Constructs an ICannotProceed exception object with a custom error message.

      public:
      ICannotProceed(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 one when an operation cannot complete, but recovery or an alternative means of completion is possible.

  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

### Exception Type

Use the function in this group to obtain the name of the exception.

name
  Returns the exception class name.

      public:
      virtual const char* name() const

  Returns the name of the actual exception class.

Supported Platforms

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

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

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