Distributed exceptions
Description
The Distributed feature defines a general exception, unavailableObjectException, which is signaled whenever an attempt to reach a remote object fails.
When exceptions occur on a distributed process and are not handled by the user, the default action is to report the error in the User Interface (UI) object space. The UI object space is defined as the first object space in the distributed logical process stack that is defined to have user interface capability. In a typical client/server application, this will be the client object space. For exceptions that occur in the server object space, the exception is propagated to the client object space, where the default error handler is invoked. For development time, this would be a distributed debugger. At run time, this would be an error pop-up.
SST equivalent
SST provides several exceptions for errors occurring during SST processing. The exceptions and their hierarchy are shown below. When a SST exception is raised, it will contain a description and objects related to the error.
(ExAll)
ExSstFatalError
(ExError)
ExSstInvocationError
ExSstNonFatalError
ExSstSetupError
ExSstUnknownException
Similar to the Distributed feature, exceptions on distributed logical processes are handled by a specified object space. In SST, the SstErrorReporter specifies the appropriate UI Handler to process the error. In a typical client-server application, this will be the client object space.
Porting guidelines
In the Distributed feature, the single unavailableObjectException can be used to catch all general distributed errors. In SST, you have the flexibility to catch exceptions in more specific categories. With SST, you can also catch very general distributed errors with ExAll or ExError.
Last modified date: 07/02/2019