Simple Error Trapping
<< Click to Display Table of Contents >> Navigation: Robo-FTP User's Guide > Script Programming > Sample Script Files > Simple Error Trapping |
There are several possible points of failure when using the FTP protocol to upload a file over a dial-up connection. The example below illustrates judicious use of the IFERROR command to change the script's behavior depending on how and when an error occurs:
DIALNET "Internet Connection" /user="myname" /pw="mypassword"
;; check for dialup connection timeout
IFERROR= $ERROR_CONNECT_TIMEOUT GOTO connect_timeout
;; just exit without displaying message if any other dialup error
IFERROR!= $ERROR_SUCCESS GOTO exit
;; connect to remote site but disconnect modem without message if logon fails
FTPLOGON "ftp.acme-widget.com" /user="anonymous" /pw="any" /timeout=30
IFERROR!= $ERROR_SUCCESS GOTO disconnect
;; change to desired subdirectory on remote site
FTPCMD "CWD robo-ftp/incoming"
IFERROR GOTO subfolder_unreachable
;; upload a file
SENDFILE "datafile" /timeout=60
;; check for send time-out
IFERROR= $ERROR_OPTIMEDOUT GOTO xmt_timeout
IFERROR GOTO send_failed
LOGMSG "Upload Success!"
;; logoff and disconnect
:logoff
:disconnect
DISCONNECT
:exit
STOP
:connect_timeout
MESSAGEBOX "**ATTENTION: Cannot connect, dialup failure"
STOP
:subfolder_unreachable
MESSAGEBOX "**ATTENTION: Unable to change remote subdirectory"
GOTO logoff
:xmt_timeout
MESSAGEBOX "**ATTENTION: Upload timeout"
GOTO logoff
:send_failed
MESSAGEBOX "**ATTENTION: Upload failed"
GOTO logoff
Related command(s): IFERROR, LOOPIF, GOTO
See also: Script File Result Codes, %lasterror, Interactive Debugging, List of Sample Script Files, Script File Wizard, Script Programming, Script Commands