Dealing with Exceptions
Object services classes work exclusively with class-based exceptions. The exception classes are predefined in the system. They always start with CX_OS_.
Exceptions of the CX_DYNAMIC_CHECK category
are passed to the caller using the RAISING clauses of interface methods;
class-specific methods of the class actor; attribute access methods of
persistent classes; in the transaction object; and the system actors. Such
exceptions must be handled here by the user, (in contrast to the general rule
that exceptions should be handled within a procedure, not passed along the
hierarchy). Thus semantically, the above exceptions of the CX_DYNAMIC_CHECK
category belong more to the CX_STATIC_CHECK category. However, they could not
be defined as such, due to their incompatibility with existing Object Services
applications.
In CX_NO_CHECK’s subclasses, CX_OS_NO_CHECK_CONTAINER and CX_OS_MIGRATION are noteworthy, since they are not part of the actual hierarchy for the Object Services exception classes. Their purpose is more internal: CX_OS_NO_CHECK_CONTAINER allows containers to pass along exceptions of the CX_DYNAMIC_CHECK category, while CX_OS_MIGRATION is used for migration purposes.
For a precise description of the exception classes, see the relevant class documentation.