[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: openr and /get_lun
you could always jump over the access of the file with a GOTO...
pro test_lun_free
filename = 'c:\dne.dat'
openr, unit, filename, /get_lun, error=err
IF (err NE 0) then goto, bad_file
;Insert your read statement here
;Insert your read statement here
print, 'the file exists - lun#', strcompress(string(unit),
/remove_all),' set'
free_lun, unit
;Insert the rest of your program here
bad_file:If err ne 0 then print, 'lun not set'
end
- i think this is what you want
leon
On 14 Apr 2000 16:36:04 -0500, Craig Markwardt
<craigmnet@cow.physics.wisc.edu> wrote:
>
>I have noticed that the use of /GET_LUN and ERROR keywords to openr is
>not as helpful as I would have hoped. Do other have this experience?
>The problem is that when an error occurs, it is hard to know whether
>the file unit was "gotten" or not.
>
>For example:
>
>pro test1
> openr, unit, filename, /get_lun, error=err
> free_lun, unit
>end
>
>If there was an error, then it is possible that UNIT was never set,
>and is hence undefined. FREE_LUN doesn't take undefined variables.
>
>If there is error checking to do, I don't know exactly what it should
>be. So I find myself explicitly doing this instead:
>
>pro test2
> get_lun, unit
> openr, unit, filename, error=err
> free_lun, unit
>end
>
>Comments?
>
>Craig
>
>--
>--------------------------------------------------------------------------
>Craig B. Markwardt, Ph.D. EMAIL: craigmnet@cow.physics.wisc.edu
>Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
>--------------------------------------------------------------------------
-------------------------
Leon Majewski
Remote Sensing & Satellite Research Group
Curtin University of Technology, Perth, Australia
email: majewski@ses.curtin.edu.au