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

Re: Problem using sav files.



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