Exceptions
When dealing with higher-level abstractions, such as object spaces and remote object models, passing error objects becomes unmanageable. SST defines five exceptions to deal with these broad cases. The parent-child relationship is as follows:
(ExAll)
ExSstFatalError
(ExError)
ExSstInvocationError
ExSstNonFatalError
ExSstSetupError
ExSstUnknownException
These exceptions are raised in different situations, and have different meanings. Each will have a string describing the cause of the exception as the first element of the arguments to the signal. Any further arguments may contain objects related to the error. The exceptions are as follows:
ExSstFatalError
Raised when a situation occurs that cannot be handled or fixed in any way by the SST system. It is usually raised from extremely low levels within the system.It indicates that the system has become unstable, and results may be suspect. This exception is a child of ExAll, so that it will not be caught by normal exception handlers. This exception may occur in Communications activities.
ExSstInvocationError
Raised by object spaces when a message invocation returns an SstError. It is raised only if the space's configuration has raiseExceptions set to true. This exception will only occur when dealing with object spaces.
ExSstNonFatalError
Indicates that some error condition occurred that affected the current operation, although the overall system integrity remains unaffected. This usually occurs if some internals are incorrectly adjusted, such as wrongly setting the logical process on requests.
ExSstSetupError
Raised only during system start up. It indicates that the system description is either flawed, or some resource is not available. For example, a space which was setup as the local space does not match the actual local machine. This exception may occur in Communications activities.
ExSstUnknownException
Thrown when processing remote exceptions, as described in Logical process invocation. Non-system exceptions destined for remote spaces are converted to an ExSstUnknownException.
Last modified date: 09/19/2018