Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# CORBA::Exception Class Reference

Exception. More...

`#include <Exception.h>`

Inheritance diagram for CORBA::Exception:

[legend]
List of all members.

## Public Methods

| Exception (const Exception &src)
| Copy constructor.
Exception & | operator= (const Exception &src)
| Assignment operator.
virtual | ~Exception (void)
| Destructor.
virtual void | _raise (void) const=0
virtual const char * | _rep_id (void) const
| Return the repository ID of the Exception.
virtual const char * | _name (void) const
| Return the name of the Exception.
virtual CORBA::TypeCode_ptr | _type (void) const
| Will be overridden in the concrete derived classes.
virtual int | _is_a (const char *repository_id) const
| Exception (const char *repository_id, const char *local_name)
| Constructor from a respository id.
void | _tao_print_exception (const char *info, FILE *f=stdout) const
virtual ACE_CString | _info (void) const=0
virtual void | _tao_encode (TAO_OutputCDR &cdr ACE_ENV_ARG_DECL_NOT_USED) const=0
virtual void | _tao_decode (TAO_InputCDR &cdr ACE_ENV_ARG_DECL_NOT_USED)=0
virtual CORBA::Exception * | _tao_duplicate (void) const=0
| Deep copy.

## Static Public Methods

Exception * | _downcast (Exception *x)
void | _tao_any_destructor (void *)
| Used in the non-copying Any insertion operator.

## Protected Methods

| Exception (void)
| Default constructor is protected.

## Private Attributes

char * | id_
| Storage of our repository id and local name.
char * | name_

## Detailed Description

Exception.

CORBA2-specified exception hierarchy. All exceptions have a type (represented by a TypeCode) and a widely scoped type ID (in the TypeCode) that generated by any OMG-IDL compiler and available through the Interface Repositories. Think of it as a "globally scoped" name distinguishing each exception.

## Constructor & Destructor Documentation

CORBA::Exception::Exception | ( | const Exception & | src | ) |

| Copy constructor.

CORBA::Exception::~Exception | ( | void |  | ) | `[virtual]`

| Destructor.

CORBA::Exception::Exception | ( | const char * | repository_id,
|  | const char * | local_name
| ) |

| Constructor from a respository id.

CORBA::Exception::Exception | ( | void |  | ) | `[protected]`

| Default constructor is protected.

## Member Function Documentation

ACE_INLINE CORBA::Exception * CORBA::Exception::_downcast | ( | Exception * | x | ) | `[static]`

Reimplemented in CORBA::Bounds, CORBA::UserException, CORBA::SystemException, IOP::Codec::InvalidTypeForEncoding, IOP::Codec::FormatMismatch, IOP::Codec::TypeMismatch, IOP::CodecFactory::UnknownEncoding, CORBA::ORB::InvalidName, CORBA::PolicyError, CORBA::InvalidPolicies, CORBA::PollableSet::NoPossiblePollable, CORBA::PollableSet::UnknownPollable, PortableInterceptor::ForwardRequest, PortableInterceptor::InvalidSlot, PortableInterceptor::ORBInitInfo::DuplicateName, PortableInterceptor::ORBInitInfo::InvalidName, CORBA::TypeCode::Bounds, CORBA::TypeCode::BadKind, and CORBA::WrongTransaction.

virtual ACE_CString CORBA::Exception::_info | ( | void |  | ) | const`[pure virtual]`

| Returns a string containing information about the exception. This function is not CORBA compliant. Implemented in CORBA::UserException, and CORBA::SystemException.

int CORBA::Exception::_is_a | ( | const char * | repository_id | ) | const`[virtual]`

| Reimplemented in CORBA::UserException, and CORBA::SystemException.

const char * CORBA::Exception::_name | ( | void |  | ) | const`[virtual]`

| Return the name of the Exception.

virtual void CORBA::Exception::_raise | ( | void |  | ) | const`[pure virtual]`

Implemented in CORBA::Bounds, CORBA::UserException, CORBA::SystemException, IOP::Codec::InvalidTypeForEncoding, IOP::Codec::FormatMismatch, IOP::Codec::TypeMismatch, IOP::CodecFactory::UnknownEncoding, CORBA::ORB::InvalidName, CORBA::PolicyError, CORBA::InvalidPolicies, CORBA::PollableSet::NoPossiblePollable, CORBA::PollableSet::UnknownPollable, PortableInterceptor::ForwardRequest, PortableInterceptor::InvalidSlot, PortableInterceptor::ORBInitInfo::DuplicateName, PortableInterceptor::ORBInitInfo::InvalidName, CORBA::TypeCode::Bounds, CORBA::TypeCode::BadKind, and CORBA::WrongTransaction.

const char * CORBA::Exception::_rep_id | ( | void |  | ) | const`[virtual]`

| Return the repository ID of the Exception.

void CORBA::Exception::_tao_any_destructor | ( | void * |  | ) | `[static]`

Used in the non-copying Any insertion operator.

Reimplemented in CORBA::Bounds, IOP::Codec::InvalidTypeForEncoding, IOP::Codec::FormatMismatch, IOP::Codec::TypeMismatch, IOP::CodecFactory::UnknownEncoding, CORBA::PolicyError, CORBA::InvalidPolicies, PortableInterceptor::ForwardRequest, PortableInterceptor::InvalidSlot, PortableInterceptor::ORBInitInfo::DuplicateName, PortableInterceptor::ORBInitInfo::InvalidName, and CORBA::WrongTransaction.

virtual void CORBA::Exception::_tao_decode | ( | TAO_InputCDR &cdr | ACE_ENV_ARG_DECL_NOT_USED | ) | `[pure virtual]`

| Implemented in CORBA::SystemException, CORBA::TypeCode::Bounds, and CORBA::TypeCode::BadKind.

virtual CORBA::Exception* CORBA::Exception::_tao_duplicate | ( | void |  | ) | const`[pure virtual]`

Deep copy.

The following operation is used in the implementation of it performs a deep copy of the exception, normally it is implemented as:

     class SomeException : public // Derives from CORBA::Exception
     {
     public:
       virtual CORBA::Exception *_tao_duplicate (void) const
       {
         return new SomeException (*this);
       }
     };

Implemented in CORBA::Bounds, CORBA::SystemException, IOP::Codec::InvalidTypeForEncoding, IOP::Codec::FormatMismatch, IOP::Codec::TypeMismatch, IOP::CodecFactory::UnknownEncoding, CORBA::ORB::InvalidName, CORBA::PolicyError, CORBA::InvalidPolicies, CORBA::PollableSet::NoPossiblePollable, CORBA::PollableSet::UnknownPollable, PortableInterceptor::ForwardRequest, PortableInterceptor::InvalidSlot, PortableInterceptor::ORBInitInfo::DuplicateName, PortableInterceptor::ORBInitInfo::InvalidName, CORBA::TypeCode::Bounds, CORBA::TypeCode::BadKind, and CORBA::WrongTransaction.

virtual void CORBA::Exception::_tao_encode | ( | TAO_OutputCDR &cdr | ACE_ENV_ARG_DECL_NOT_USED | ) | const`[pure virtual]`

| Implemented in CORBA::SystemException, CORBA::TypeCode::Bounds, and CORBA::TypeCode::BadKind.

void CORBA::Exception::_tao_print_exception | ( | const char * | info,
|  | FILE * | f = stdout
| ) | const

| Print the exception <ex> to output determined by <f>. This function is not CORBA compliant.

CORBA::TypeCode_ptr CORBA::Exception::_type | ( | void |  | ) | const`[virtual]`

Will be overridden in the concrete derived classes.

Reimplemented in CORBA::Bounds, IOP::Codec::InvalidTypeForEncoding, IOP::Codec::FormatMismatch, IOP::Codec::TypeMismatch, IOP::CodecFactory::UnknownEncoding, CORBA::PolicyError, CORBA::InvalidPolicies, PortableInterceptor::ForwardRequest, PortableInterceptor::InvalidSlot, PortableInterceptor::ORBInitInfo::DuplicateName, PortableInterceptor::ORBInitInfo::InvalidName, and CORBA::WrongTransaction.

CORBA::Exception & CORBA::Exception::operator= | ( | const Exception & | src | ) |

| Assignment operator.

## Member Data Documentation

char* CORBA::Exception::id_`[private]`

| Storage of our repository id and local name.

char* CORBA::Exception::name_`[private]`

The documentation for this class was generated from the following files:

- Exception.h
- Exception.cpp
- Exception.i