Hi, try this: tries: 3 until [ set/any 'm try [write ftp://chuck:[EMAIL PROTECTED]/crossing/ndtd/user.r "hi there"] tries: tries - 1 any [tries = 0 unset? get/any 'm] ] Regards Ladislav > I am writing a script that will try 3 times to write a file and then fail, however, I cant place a try block around the REBOL write statement because it does not return anything upon success, thus I get an error that the word is not bound: > > >> m: try [ write ftp://chuck:[EMAIL PROTECTED]/crossing/ndtd/user.r "hi there" ] > connecting to: 170.16.15.136 > ** User Error: Server error: tcp 530 Login incorrect.. > ** Where: write ftp://chuck:[EMAIL PROTECTED]/crossing/ndtd/user.r "hi there" > ; -- great: when write fails 'm is bound > >> m: try [ write ftp://chuck:[EMAIL PROTECTED]/crossing/ndtd/user.r "hi there" ] > connecting to: 170.16.15.136 > ** Script Error: m needs a value. > ** Where: m: try [write ftp://chuck:[EMAIL PROTECTED]/crossing/ndtd/user.r "hi there"] > ; --- well this sucks. I cant get a return value upon success > > > > Get your FREE Email and Voicemail at Lycos Communications at > http://comm.lycos.com > >