[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem using sav files.
- Subject: Re: Problem using sav files.
- From: davidf(at)dfanning.com (David Fanning)
- Date: Thu, 21 Sep 2000 06:51:26 -0600
- Newsgroups: comp.lang.idl-pvwave
- Organization: Fanning Software Consulting
- References: <39C9FFCA.138B6B3D@fz-juelich.de>
- Xref: news.doit.wisc.edu comp.lang.idl-pvwave:21474
Theo Brauers (th.brauers@fz-juelich.de) writes:
> I am stuck with a problem using a sav file:
>
> My program is an widget driven i/o interface for FACSIMILE. It
> consists of about 400 functions/routines. When I compile the
> whole thing using resolve_all it works fine in this IDL session.
> However, when I save the thing ( easy.sav ) and restart IDL using
> the easy.sav file it worked fine for a while, then the thing
> crashes IDL totally during operation even when I use the same
> input data. Restarting IDL with sav file: crash. Restarting
> IDL with source compiled: OK. Save and restart: Crash. Rebooting
> and repeating gives the same result. I can also reproduce this
> behaviour on a different machine, with different user profile.
> I had the same behaviour with a previous version of the program
> which crashed in the same way at a different location in the
> program but I cannot reproduce this again :-|
>
> Does anybody have similar problems? Is there any possibility
> to catch an error before IDL crashes?
> I am using: { x86 Win32 Windows 5.3.1 Feb 23 2000}
I'm going to guess programmer error. :-)
You will go a long way toward solving the problem if you
stick some kind of Catch error handler in those functions/routines.
It is hard to write an application with 4 functions that doesn't
have some kind of error, let alone 400! I use a Catch
error handler in most of my widget programs that is some
variation of this:
Catch, theError
IF theError NE 0 THEN BEGIN
Catch, /Cancel
Widget_Control, event.top, Set_UValue=info, /No_Copy
ok = Error_Message(Traceback=1, /Error)
RETURN
ENDIF
The Error_Message program can be found on my web page. It
will put the system error message (!Error_State.Msg) in
a Dialog_Message if appropriate for the device. Otherwise,
it will use Message. But setting the Traceback keyword
will lead you directly to the error. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155