|
Hi Buzz, Yes, I would agree that it is a transfer of control. I'm not sure what you're getting at though. Could you elaborate? John > -----Original Message----- > From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On > Behalf Of Buzz Fenner > Sent: Friday, June 18, 1999 8:31 PM > To: RPG400-L@midrange.com > Subject: RE: %EOF - more on GOTO > > > John, > > I see the "elegance"(?) of your argument. But, still isn't it a > transfer of > control? > > Buzz > > > >From: "John Taylor" <john.taylor@telusplanet.net> > >Reply-To: RPG400-L@midrange.com > >To: <RPG400-L@midrange.com> > >Subject: RE: %EOF - more on GOTO > >Date: Fri, 18 Jun 1999 16:38:50 -0600 > > > > > > > > > -----Original Message----- > > > From: owner-rpg400-l@midrange.com > [mailto:owner-rpg400-l@midrange.com]On > > > Behalf Of bellis@ORIENTAL.COM > > > Sent: Friday, June 18, 1999 3:01 PM > > > To: RPG400-L@midrange.com > > > Subject: RE: %EOF > > > > > > > > ><snipped> > > > > > By the way, you should never have to use a GOTO in an RPG program !!! > > > >No, you never really HAVE to. However, when used responsibly, a > GOTO can be > >quite usefull. Take for example a standard error checking > subroutine such > >as > >the following: > > > >SR ChkForErr BegSR > > > > * Initialize routine > >C Eval ErrorID = *Blanks > > > > * Do some testing & branch to error section when required > >C If ( SomeCondition <> Valid ) > >C Eval ErrorID = "SomeErrorID" > >C Goto ErrSection > >C Endif > > > >C If ( SomeOtherCondition <> Valid ) > >C Eval ErrorID = "SomeOtherErrorID" > >C Goto ErrSection > >C Endif > > > > * Add a whole bunch of other tests here > > > > > > * Error Section > >C ErrSection Tag > >C If ( ErrorID <> *Blanks ) > >C Eval DspErrInd = *On > > * <add additional common error handling code here) > >C Endif > > > >SR EndSR > > > > > >Sure, you could code this without using a GOTO, but it would mean adding > >more code that is just not necessary. The routine only exits at > one point, > >and the logic does not jump around from place to place. > > > >The bottom line, for me, is that the GOTO is not evil. The programmer who > >uses it irresponsibly is. And a programmer who abuses the GOTO > statement is > >also likely to abuse any other op-code that he's learned. How many times > >have you seen code that moves *BLANKS into a decimal field? > > > > > >John Taylor > > > >* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > >* This is the RPG/400 Discussion Mailing List! To submit a new * > >* message, send your mail to "RPG400-L@midrange.com". To unsubscribe * > >* from this list send email to MAJORDOMO@midrange.com and specify * > >* 'unsubscribe RPG400-L' in the body of your message. Questions should * > >* be directed to the list owner / operator: david@midrange.com * > >* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > > > > > _______________________________________________________________ > Get Free Email and Do More On The Web. Visit http://www.msn.com > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * This is the RPG/400 Discussion Mailing List! To submit a new * > * message, send your mail to "RPG400-L@midrange.com". To unsubscribe * > * from this list send email to MAJORDOMO@midrange.com and specify * > * 'unsubscribe RPG400-L' in the body of your message. Questions should * > * be directed to the list owner / operator: david@midrange.com * > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is the RPG/400 Discussion Mailing List! To submit a new * * message, send your mail to "RPG400-L@midrange.com". To unsubscribe * * from this list send email to MAJORDOMO@midrange.com and specify * * 'unsubscribe RPG400-L' in the body of your message. Questions should * * be directed to the list owner / operator: david@midrange.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.