[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: Unsafe error behavior in legacy ABL loops

  • Thread starter Thread starter dbeavon
  • Start date Start date
Status
Not open for further replies.
D

dbeavon

Guest
The structured error handling approaches (THROW/CATCH, esp. the BLOCK-LEVEL default) would be my preference. But these would be out of place in the legacy code that I'm working with (written pre-OE10). To a certain extent, a programmer would also need to understand OO to use SEH, since the errors are OO classes in an inheritance hierarchy. Remember that there are many ABL programmers who deliberately avoid these new OO-based language features. I think that I'm left with the need to change all our FOR loops, and retrofit them with the "ON ERROR" phrase. As a side, I wonder whether the default/legacy handling of FOR loops might have been designed for interactive CHUI interfaces? In that type of environment, the user would be directly informed by the AVM of failures, and would potentially be able to take measures to manually correct the problems in their data after-the-fact. This type of default/legacy behavior may have worked OK for CHUI, but now that we are refitting the old 4GL code to run as a background process (or within appserver), then it causes data to become inconsistent in unexpected ways. It is unfortunate that the default/legacy behavior of FOR loops is to create inconsistent data. Thanks for the feedback.

Continue reading...
 
Status
Not open for further replies.
Back
Top