Exceptions
You can define exceptions in IDL, which are used to signal errors or other unusual circumstances that may occur during a remote method call. Exceptions are declared with a unique name and an optional set of data attributes:
// IDL exceptionidentifier
{ <data member
>; <data member
>; ...};
Each data member on the exception type is simply a type specification followed by a unique identifier for the data member. The data is used to provide the caller with additional information about what went wrong during the remote method call.
Using our geometric examples from earlier, we might define an
exception that is thrown when a MultiCoord
with unexpected dimensions is
passed into a method:
// IDL exception BadDimension { short expected; short passed; };
The server object raising one of these exceptions can set these data values, and the client making the request can read these values to interpret what went wrong.
Exceptions can be declared within any module or interface scope in your IDL file.
Standard Exceptions
In addition to user-defined exceptions, a set of
standard exceptions is defined within the CORBA module. These
standard exceptions can be raised by any method, even though they
aren’t listed explicitly in the method definition. These exceptions
can be referenced in IDL using the CORBA::
scope (e.g., CORBA::BAD_PARAM
). The standard CORBA
exceptions are listed in Table G-4. Every standard
CORBA exception includes two data members: an unsigned long
minor error code, which can further ...
Get Java Enterprise in a Nutshell, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.