class interface EXCEPTIONS
   -- 
   --  Facilities for adapting the exception handling mechanism.
   --  This class may be used as ancestor by classes needing its 
   --  facilities.
   -- 

feature(s) from EXCEPTIONS
   --  Various exceptions codes :

   Check_instruction: INTEGER
      --  Exception code for violated check.


   Class_invariant: INTEGER
      --  Exception code for violated class invariant.


   Developer_exception: INTEGER
      --  Exception code for developer exception.


   Incorrect_inspect_value: INTEGER
      --  Exception code for inspect value which is not one
      --  of the inspect constants, if there is no Else_part


   Loop_invariant: INTEGER
      --  Exception code for violated loop invariant


   Loop_variant: INTEGER
      --  Exception code for non-decreased loop variant


   No_more_memory: INTEGER
      --  Exception code for failed memory allocation


   Postcondition: INTEGER
      --  Exception code for violated postcondition.


   Precondition: INTEGER
      --  Exception code for violated precondition.


   Routine_failure: INTEGER
      --  Exception code for failed routine.


   Os_signal: INTEGER
      --  Exception code for a signal received from the OS.


   Void_attached_to_expanded: INTEGER
      --  Exception code for attachment of void value
      --  to expanded entity.


   Void_call_target: INTEGER
      --  Exception code for feature applied to void reference


feature(s) from EXCEPTIONS
   developer_exception_name: STRING
      --  Name of last developer-raised exception.

      require
         applicable: is_developer_exception

   is_developer_exception: BOOLEAN
      --  Is the last exception originally due to
      --  a developer exception?


   is_developer_exception_of_name (name: STRING): BOOLEAN
      --  Is the last exception originally due to a developer
      --  exception of name name?


feature(s) from EXCEPTIONS
   --  Status report :

   assertion_violation: BOOLEAN
      --  Is last exception originally due to a violated
      --  assertion or non-decreasing variant?


   exception: INTEGER
      --  Code of last exception that occurred.


   is_signal: BOOLEAN
      --  Is last exception originally due to an external
      --  event (operating system signal) ?


feature(s) from EXCEPTIONS
   --  Basic operations :

   die (code: INTEGER)
      --  Terminate execution with exit status code,
      --  without triggering an exception.


   raise (name: STRING)
      --  Raise a developer exception of name name.


feature(s) from EXCEPTIONS
   --  Non-Standard Extensions :

   signal_number: INTEGER
      --  Signal Number received from OS.  Zero if exception
      --  is not an OS signal.


   developer_exception_name_memory: MEMO[STRING]

   raise_exception (code: INTEGER)


end of EXCEPTIONS