Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: st: Custom error messages


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   RE: st: Custom error messages
Date   Tue, 24 Feb 2009 17:01:21 -0000

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/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index