#include <Exception.h>
Inheritance diagram for CORBA::Exception:
Public Member Functions | |
Exception (const Exception &src) | |
Copy constructor. | |
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 | _tao_type (void) const=0 |
Will be overridden in the concrete derived classes. | |
void | _tao_print_exception (const char *info, FILE *f=stdout) const |
Print the exception to output determined by f. | |
virtual ACE_CString | _info (void) const=0 |
virtual void | _tao_encode (TAO_OutputCDR &cdr) const=0 |
virtual void | _tao_decode (TAO_InputCDR &cdr)=0 |
virtual CORBA::Exception * | _tao_duplicate (void) const=0 |
Deep copy. | |
Static Public Member Functions | |
Exception * | _downcast (Exception *x) |
Exception const * | _downcast (Exception const *x) |
void | _tao_any_destructor (void *) |
Used in the non-copying Any insertion operator. | |
Protected Member Functions | |
Exception (void) | |
Default constructor. | |
Exception & | operator= (const Exception &src) |
Assignment operator. | |
Exception (const char *repository_id, const char *local_name) | |
Construct from a respository id. | |
Private Attributes | |
CORBA::String_var | id_ |
Repository Id. | |
CORBA::String_var | name_ |
Local name. |
CORBA2-specified exception hierarchy. All exceptions have a type (represented by a TypeCode
) and a widely scoped type ID (in the TypeCode
) that are generated by any OMG-IDL compiler and available through the Interface Repository. Think of it as a "globally scoped" name distinguishing each exception.
Definition at line 99 of file Exception.h.
|
Copy constructor.
Definition at line 45 of file Exception.cpp. References ACE_ASSERT, TAO::String_var< charT >::in(), and CORBA::string_dup().
00046 : id_ (CORBA::string_dup (src.id_)), 00047 name_ (CORBA::string_dup (src.name_)) 00048 { 00049 ACE_ASSERT (this->id_.in () != 0 && this->name_.in () != 0); 00050 } |
|
Destructor.
Definition at line 62 of file Exception.cpp.
00063 { 00064 } |
|
Default constructor.
Definition at line 56 of file Exception.cpp.
|
|
Construct from a respository id.
Definition at line 37 of file Exception.cpp. References ACE_ASSERT, TAO::String_var< charT >::in(), and CORBA::string_dup().
00039 : id_ (CORBA::string_dup (repository_id)), 00040 name_ (CORBA::string_dup (local_name)) 00041 { 00042 ACE_ASSERT (this->id_.in () != 0 && this->name_.in () != 0); 00043 } |
|
Reimplemented in CORBA::PolicyError, CORBA::InvalidPolicies, CORBA::SystemException, CORBA::UserException, and CORBA::WrongTransaction. Definition at line 14 of file Exception.inl.
00015 {
00016 return x;
00017 }
|
|
Reimplemented in CORBA::ORB::InvalidName, CORBA::PolicyError, CORBA::InvalidPolicies, CORBA::SystemException, CORBA::UserException, and CORBA::WrongTransaction. Definition at line 8 of file Exception.inl.
00009 {
00010 return x;
00011 }
|
|
Returns a string containing information about the exception. This function is not CORBA compliant. Implemented in CORBA::SystemException, and CORBA::UserException. |
|
Return the name of the Exception.
Definition at line 85 of file Exception.cpp. References TAO::String_var< charT >::in(). Referenced by CORBA::operator<<().
|
|
Implemented in CORBA::ORB::InvalidName, CORBA::PolicyError, CORBA::InvalidPolicies, CORBA::SystemException, CORBA::UserException, and CORBA::WrongTransaction. Referenced by TAO::Synch_Twoway_Invocation::handle_user_exception(). |
|
Return the repository ID of the Exception.
Definition at line 79 of file Exception.cpp. References id_, and TAO::String_var< charT >::in(). Referenced by CORBA::UserException::_info(), CORBA::SystemException::_info(), CORBA::Environment::exception_id(), CORBA::Environment::exception_type(), TAO_Operation_Details::has_exception(), operator<<(), CORBA::operator<<(), and CORBA::Environment::print_exception().
|
|
Used in the non-copying Any insertion operator.
Reimplemented in CORBA::PolicyError, CORBA::InvalidPolicies, and CORBA::WrongTransaction. Definition at line 114 of file Exception.cpp.
00115 { 00116 CORBA::Exception *tmp = static_cast<CORBA::Exception *> (x); 00117 delete tmp; 00118 } |
|
Implemented in CORBA::ORB::InvalidName, CORBA::PolicyError, CORBA::InvalidPolicies, CORBA::SystemException, and CORBA::WrongTransaction. Referenced by TAO::Synch_Twoway_Invocation::handle_user_exception(). |
|
Deep copy. The following operation is used in the implementation of it performs a deep copy of the exception, normally it is implemented as:
|
|
Implemented in CORBA::ORB::InvalidName, CORBA::PolicyError, CORBA::InvalidPolicies, CORBA::SystemException, and CORBA::WrongTransaction. Referenced by TAO_GIOP_Message_Base::generate_exception_reply(). |
|
Print the exception to output determined by f.
Definition at line 91 of file Exception.cpp. References ACE_ERROR, ACE_TEXT, ACE_TEXT_CHAR_TO_TCHAR, and LM_ERROR.
00093 { 00094 ACE_ERROR ((LM_ERROR, 00095 ACE_TEXT ("(%P|%t) EXCEPTION, %s\n") 00096 ACE_TEXT ("%s\n"), 00097 ACE_TEXT_CHAR_TO_TCHAR (user_provided_info), 00098 ACE_TEXT_CHAR_TO_TCHAR (this->_info ().c_str ()))); 00099 } |
|
Will be overridden in the concrete derived classes.
Implemented in CORBA::PolicyError, CORBA::InvalidPolicies, CORBA::UserException, and CORBA::WrongTransaction. |
|
Assignment operator.
Definition at line 67 of file Exception.cpp. References ACE_ASSERT, id_, name_, and CORBA::string_dup().
00068 { 00069 this->id_ = CORBA::string_dup (src.id_); 00070 ACE_ASSERT (this->id_.in () != 0); 00071 00072 this->name_ = CORBA::string_dup (src.name_); 00073 ACE_ASSERT (this->name_.in () != 0); 00074 00075 return *this; 00076 } |
|
Repository Id.
Definition at line 199 of file Exception.h. Referenced by _rep_id(), and operator=(). |
|
Local name.
Definition at line 202 of file Exception.h. Referenced by operator=(). |