MESSAGE facility [message #8775] |
Tue, 22 April 1997 00:00  |
Wayne Landsman
Messages: 117 Registered: January 1997
|
Senior Member |
|
|
I'm not sure if it is appropriate yet to discuss IDL V5.0, which is
still in beta release, but this can be considered a general (and minor)
question about the philosphy of error reporting.
One change in IDL V5.0 is that the default response of the MESSAGE
facility is now to include a traceback. At least, as of V5.0B5 there
is no way to suppress this response, e.g. there is no /NOTRACEBACK
keyword. This can lead to the following disconcerting behavior. A
function call that in V4.0.1 yields the following response:
IDL> a = dbfind('dec>0')
% DB_INFO: No data base file(s) opened
becomes in V5.0B5
STIS>a = dbfind('dec>0')
% DB_INFO: No data base file(s) opened
% Error occurred at: DB_INFO 112/share/idl/astro_util/db_info.pro
% DBFIND 137/share/idl/astro_util/dbfind.pro
% $MAIN$
% Execution halted at:$MAIN$
Now in the IDL V4.0.1 case, everything seems to be under control -- the
program is correctly exiting because I have not opened a database before
calling DBFIND(). But whenever I see a traceback, as in the V5.0B5
case, my first impulse is to think that the software is broken. In one
sense, the software *is* broken, but the error is at the MAIN level in
the parameters entered at the terminal by the user. Of course,
DBFIND() isn't necessarily going to be called directly by the user, and
if there is a real software bug, then it is important to have a
traceback. So I'm not sure if I should (1) get used to always seeing
a traceback or (2) not use the MESSAGE facility if the error is likely
to be incorrect parameters entered by the user. Any comments?
Wayne Landsman landsman@mpb.gsfc.nasa.gov
|
|
|