Re: how do people feel about exit function from loop
- From: "Robert Morley" <rmorley@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 24 Jul 2007 22:22:16 -0400
In some cases, though, you'll want variables altered inside the loop to be
in a known state on exiting the loop (for example, you know you want to be
at the end of a file, but also to flag a specific location/record within it)
and, as others have mentioned, to know HOW you hit the end of the loop.
Exit For and similar constructs become largely undesirable, involve more
coding and/or are less intuitive in cases like these.
Granted, cleanup code will be more likely to happen identically regardless
of how you exited the loop, but it's not guaranteed, depending on the
structure of your loop. If, for example, you're Setting an object to
something and then later to Nothing within the loop, the Exit For might
require a redundant Set to Nothing after the end of the loop.
But it's all esoteric anyway. Who cares how you do your loops or why you do
or don't use Exit's, as long as your loops work as desired and are
reasonably easy to understand. Any advanced programmer should be able to
look at a loop and determine in about two seconds how it works, regardless
of which structure is being used. It's like writing haiku's versus rhyming
verse...they're both poetry, it's just a difference of style.
Rob
"Michael C" <nospam@xxxxxxxxxx> wrote in message
news:OSmCwvlzHHA.464@xxxxxxxxxxxxxxxxxxxxxxx
"Robert Morley" <rmorley@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:uDBiXAlzHHA.312@xxxxxxxxxxxxxxxxxxxxxxx
But the same logic applies...if you're concerned about having one way out
of a function, it follows that you will likely be the type who also likes
one way out of a loop (for most of the same reasons), thus wanting to
avoid Exit.
Not really. The logic behind having one way out of a function is that you
can have cleanup code to release references etc (which has mostly been
eliminated with high level languages). For a loop there is no chance to
have cleanup code except after it, so the cleanup code will be called
anyway. The one-way-out is by going to the line of code after the loop.
In a language with try/catch/finally block this is all moot anyway because
you can have your exit function and have one way out, eg
Private Sub ABC()
dim rs as new recordset
rs.open "Blah"
Try
While not rs.eof
if rs!Something = SomethingElse then exit sub
rs.movenext
Wend
finally
rs.close
End Try
Michael
.
- Follow-Ups:
- Re: how do people feel about exit function from loop
- From: Michael C
- Re: how do people feel about exit function from loop
- References:
- how do people feel about exit function from loop
- From: greg
- Re: how do people feel about exit function from loop
- From: Ken Halter
- Re: how do people feel about exit function from loop
- From: Jan Hyde (VB MVP)
- Re: how do people feel about exit function from loop
- From: Steve Gerrard
- Re: how do people feel about exit function from loop
- From: Michael C
- Re: how do people feel about exit function from loop
- From: Robert Morley
- Re: how do people feel about exit function from loop
- From: Michael C
- how do people feel about exit function from loop
- Prev by Date: Re: how do people feel about exit function from loop
- Next by Date: Re: Singles to Doubles
- Previous by thread: Re: how do people feel about exit function from loop
- Next by thread: Re: how do people feel about exit function from loop
- Index(es):
Relevant Pages
|