Exception and Condition Handling Classes

One of the problems faced by ABL programmers for many years is the lack of a true exception handling mechanism in the language. By “exception handling”, we mean a mechanism by which a program encounters an error or unexpected condition then can communicate up the call stack with the purpose of:
1. Signaling that requested execution has not completed as expected;
2. Communicating any necessary information about the details of why this condition occurred; and
3. Providing a structure such that the condition is “handled” in a graceful fashion at an appropriate level in the code.

While exception handling support in many languages is heavily focused on “Exceptions ”, i.e., circumstances which prevent continued execution in the normal flow of control, some languages generalize this mechanism to what some call condition handling . The generalization to “conditions” broadens the potential communication to conditions of possible interest beyond those that one would normally consider errors or exceptions. Moreover, many conditions depend on context as to whether or not they should be considered an exception.

Download document to continue reading ...

Downloads include documentation, the exception handling classes, and test code to validate function.

For services related to this material, see my website.

ExceptionStack.pdf94.41 KB
ExceptionStack.zip6.38 KB
TestExceptionStack.zip1.75 KB