ABL has always been a procedural, block-structured, database language with the ability to mix procedural, database, and user-interface logic in a single procedure file of statements, blocks, and nested blocks. The semantics of working with a database means ABL error handling protects persistent data above all with tight integration to transaction management. Error handling draws on ABL procedural strengths to provide flow-of-control options that increase the chance of restoring application flow after an error.
ABL has expanded to provide object-oriented programming, distributed programming, and extensive integration features with other features of the OpenEdge platform. Consequently, there are many specialized error-handling topics. The traditional error-handling model provides an easy-to-use set of features for general ABL programming. It also provides a standard way of communicating errors to ABL from integrated OpenEdge features. For example, a Web service returns errors as industry standard SOAP faults. The traditional error-handling model lets your application handle a returned SOAP fault as an ABL system error.
For more information, see the guide OpenEdge Development: Error Handling.