This expansion can be contracted, using the technique of cutting out the
middle macro:
capture whatever
if _rc {
* may be some branching depending on the value of _rc
di "{err}Custom error message"
exit _rc
}
That is, there is no need for the intermediary local. You can work
directly with _rc.
Nick
[email protected]
Stas Kolenikov
To expand further:
capture whatever
local rc = _rc
if `rc' {
* may be some branching depending on the value of `rc'
di "{err}Custom error message"
exit `rc'
}
On 2/24/09, Nick Cox <[email protected]> wrote:
> To expand on this slightly:
>
> Setting aside the implementation details, which are not of concern,
> -error- is best thought of as a wrapper for -display as err- with
some
> generic message followed by -exit- and a non-zero return code.
>
> Thus, if you want a different error message, or (less commonly) you
want
> a different or specific return code, you should fall back on
-display-
> followed by -exit-. It's certainly good style to add the return code.
Roger Harbord
> On Tue, Feb 24, 2009 at 1:52 AM, Brian Karfunkel
<[email protected]>
> wrote:
> >
>
> > Does anyone know how to output custom error messages? By this I mean
> > either or both of:
> >
> > a) inserting my own strings into the "_______"s listed in error
files.
> > So, while "confirm variable foo" produces "variable foo not found;
> > r(111)", I want to be able to have a command throw an error 111
with a
> > message like "index variable not found".
> <snip>
>
> display as error "index variable not found"
> exit 111
*
* 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/