Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: RE: continuing a loop from after it encounters an error
From
Nick Cox <[email protected]>
To
"'[email protected]'" <[email protected]>
Subject
st: RE: continuing a loop from after it encounters an error
Date
Thu, 3 Feb 2011 18:52:16 +0000
Depending on what the "objects" are, there may be a better solution to your problem that allows you to avoid it altogether, but in terms of your question, -capture- is what you seek.
-capture- eats errors.
Look also at -capture noisily- and -noisily capture-. Here's the difference:
. sysuse auto
(1978 Automobile Data)
. di frog[1]
frog not found
r(111);
. capture noisily di frog[1]
frog not found
. noisily capture di frog[1]
. noisily capture di mpg[1]
. capture di mpg[1]
. capture noisily di mpg[1]
22
Nick
[email protected]
Nick Mosely
I've built a loop that encounters an error periodically due to the
fact that stata can't find one of the objects specified in the list. I
don't mind the error, but I would like stata to skip objects in list
that encounter the error and continue to the next iteration of the
loop, rather than breaking the loop. I've tried the continue command,
but am not sure that is what it's meant for.
Here is a simplified version of the code. In this example, assume that
objects1 and object3 are valid commands but object2 is not:
foreach i in object1 object2 object3 {
display `i'
continue
}
>object1
>unrecognized command: object2
>r(199);
What can I do get the code to continue running through object3?
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/