Error objects can be thrown from a PAS for OpenEdge instance to an ABL client, and those errors are handled in the same way as errors thrown from a locally called procedure. The objects themselves are serialized when thrown from the server instance and then reconstructed on the client, and they are subject to the same rules for serialization as all other class-based objects passed between a server and ABL client. In particular, any user-defined class (such as a subclass derived from
Progress.Lang.AppError) must be defined as
SERIALIZABLE. See
Passing class-based objects as parameters between a server and ABL client for more information.