OODuck  0.5
C Oriented Object framework with duck-typing support
e4c_exception_type Struct Reference

Public Attributes

const char * name
 
const char default_message [E4C_EXCEPTION_MESSAGE_SIZE]
 
const e4c_exception_type * supertype
 

Detailed Description

Represents an exception type in the exception handling system

The types of the exceptions a program will use are defined in source code files through the macro E4C_DEFINE_EXCEPTION. In addition, they are declared in header files through the macro E4C_DECLARE_EXCEPTION.

When defining types of exceptions, they are given a name, a default message and a supertype to organize them into a pseudo-hierarchy:

E4C_DEFINE_EXCEPTION(SimpleException, "Simple exception", RuntimeException);

Exceptions are defined as global objects. There is a set of predefined exceptions built into the framework; #RuntimeException is the root of the exceptions pseudo-hierarchy:

  • #RuntimeException
    • #NotEnoughMemoryException
    • #AssertionException
    • #IllegalArgumentException
    • #InputOutputException
    • #SignalException
      • #SignalAlarmException
      • #SignalChildException
      • #SignalTrapException
      • #ErrorSignalException
        • #IllegalInstructionException
        • #ArithmeticException
        • #BrokenPipeException
        • #BadPointerException
          • #NullPointerException
      • #ControlSignalException
        • #StopException
        • #KillException
        • #HangUpException
        • #TerminationException
        • #AbortException
        • #CPUTimeException
        • #UserControlSignalException
          • #UserQuitException
          • #UserInterruptionException
          • #UserBreakException
      • #ProgramSignalException
        • #ProgramSignal1Exception
        • #ProgramSignal2Exception
See also
#e4c_exception
E4C_DEFINE_EXCEPTION
E4C_DECLARE_EXCEPTION
throw
catch

Member Data Documentation

const char e4c_exception_type::default_message[E4C_EXCEPTION_MESSAGE_SIZE]

The default message of this exception type

const char* e4c_exception_type::name

The name of this exception type

const e4c_exception_type* e4c_exception_type::supertype

The supertype of this exception type