Container::create_exception

Overview The create_exception operation returns a new exception definition (CORBA::ExceptionDef) contained in the CORBA::Container on which it is invoked.
Original interface CORBA module: Container Interface
Exceptions CORBA::SystemException


Intended Usage

The create_exception operation returns a new CORBA::ExceptionDef contained in the CORBA::Container on which it is invoked. A representation of the new CORBA::ExceptionDef object is created in the Interface Repository persistent database and a pointer to the memory representation of the CORBA::ExceptionDef object is returned to the caller.

The id, name, version, and members attributes are set as specified. The type attribute is also set.

An error is returned if an object with the specified id already exists within the Interface Repository, or if an object with the specified name already exists within the CORBA::Container on which the create_exception is invoked.

Syntax

  ExceptionDef * create_exception(RepositoryId id
                                 Indentifier name
                                 VersionSpec version
                                 StructMemberSeq & members);

Input parameters

name
The name that will be associated with this CORBA::ExceptionDef object in the Interface Repository.
id
The id represents the CORBA::RepositoryId that will uniquely identify this CORBA::ExceptionDef within the Container.
members

The members parameter defines the members of the exception definition. Each element of the members parameter has 3 fields. The name field is the name of the element. The type field (a reference to a CORBA::TypeCode *) is not used for create_exception and should be set to CORBA::_tc_void. The type_def field references a CORBA::IDLType * that defines the type definition of the member element.

The members parameter can have a length of zero to indicate that the exception definition has no members.

version
The version number that will be associated with this CORBA::ExceptionDef object in the Interface Repository.

Return values

ExceptionDef *
The return value is a pointer to the newly created CORBA::ExceptionDef. The memory is owned by the caller and can be released using CORBA::release.

Example

  // C++
     // assume that 'this_module' and 'this_struct'
     // have already been initialized
     CORBA::ModuleDef * this_module;
     CORBA::StructDef * this_struct;
 
     // establish the 'create_exception' rep_id, name, and version parameters
     CORBA::RepositoryId rep_id = "UniqueRepositoryId";
     CORBA::Identifier name = "this_exception";
     CORBA::VersionSpec version = "1.0";
 
     // establish and initialize a CORBA::StructMemberSeq
     // with which to create the CORBA::ExceptionDef
     CORBA::StructMemberSeq members_list;
     members_list length (1);
     members_list[0].name = CORBA::string_dup ("exception_0");
     members_list[0].type = CORBA::_tc_void;
     members_list[0].type_def = this_struct;
 
     // create the exception definition
     this_module-> create_exception ( rep_id, name, version, members_list);
     delete (members_list);
     //cleanup.

Related reference
CORBA module



Searchable topic ID:   rcor_modcr5
Last updated: Jun 21, 2007 8:07:48 PM CDT    WebSphere Business Integration Server Foundation, Version 5.0.2
http://publib.boulder.ibm.com/infocenter/wasinfo/index.jsp?topic=/com.ibm.wasee.doc/info/ee/corba/ref/rcor_modcr5.html

Library | Support | Terms of Use | Feedback