[Enterprise Extensions only]

CORBA module: SystemException Class

Overview Describes a system exception condition that has occurred.
File name sys_excp.h
Supported methods SystemException::_duplicate
SystemException::_nil
ystemException::completed
SystemException::minor


Intended Usage

This class is intended to be caught in the catch clause of a try/catch block that encompasses remote method invocations or calls to ORB services. Instances of SystemException subclasses (see list below) can be thrown from implementations of IDL interfaces, to indicate some exception condition not related to the application logic (for example, unavailable memory). SystemExceptions can be thrown by any operation, regardless of the interface specification (that is, its "raises" clause in IDL).

Each SystemException contains a minor error code, to designate the subcategory of the exception, and a completion status (COMPLETED_YES, COMPLETED_NO, or COMPLETED_MAYBE) to indicate whether the object completed processing the request prior to the exception being thrown. The SystemException class provides a non-default constructor whose arguments are the minor code of the exception (of type CORBA::ULong) and the completion status (of type CORBA::CompletionStatus). When the default constructor is used, the completion status defaults to COMPLETED_NO and the minor code defaults to zero.

The subclasses of SystemException, representing specific error conditions, are defined in std_excp.h as follows:

Each subclass of SystemException has corresponding release, is_nil, _duplicate, and _nil methods, and a non-default constructor that mirrors the SystemException non-default constructor.

In the Java implementation, org.omg.CORBA.SystemException derives from java.lang.RuntimeException.