[REBOL] Don't understand "try" and "disarm"
From: swhite:ci:bloomington:mn:us at: 14-Mar-2006 7:44
I am writing a very simple script to transfer a file when a button is clicked on a screen.
It works fine. The procedure to send the file is basically this (the SOURCE-FILE is an
ftp url, the DESTINATION-FILE is a local file name): TRANSFER-FILE: does [ write/binary
DESTINATION-FILE read/binary SOURCE-FILE alert "File has been transferred" ] Now I want
to add an error check in case the file does not exist, the directory structure is changed,
or something like that, so the script doesn't just stop. I am trying to approach it a
step at a time so I know what I am doing. I read the dictionary entries for try and disarm
and thought I could do the following as my first step toward thorough error detection:
TRANSFER-FILE: does [ FTP-RESULT: try [ write/binary DESTINATION-FILE read/binary SOURCE-FILE
] alert "File has been transferred" ] ...and then, after the write-read operation, I
would check if FTP-RESULT was an error value, and if so, disarm it and check its various
parts. But when I run the script as above (with the "try"), I get the error: FTP-RESULT
needs a value Could someone explain, in simple terms, this try-disarm business, or tell
me the appropriate way to do what I am trying to do, which is to catch an error in my
file transfer process so the script doesn't just crash? Thank you. Steven White City
of Bloomington 1800 W Old Shakopee Rd Bloomington MN 55431-3096 USA 952-563-4882 (voice)
952-563-4672 (fax) steven.white-ci.bloomington.mn.us