Error objects can be thrown from an AppServer 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 AppServer and then reconstructed on the client, and they are subject to the same rules for serialization as all other class-based objects passed between an AppServer 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 an AppServer and an ABL client for more information.