>> read ftp://1.1.1.1 connecting to: 1.1.1.1 ** User Error: Failed login to 1.1.1.1 as anonymous. Check your login. ** Where: read ftp://1.1.1.1 >> exists? ftp://1.1.1.1 connecting to: 1.1.1.1 == false >> is this a valid set of responses? Or, because there was a read error in both cases, should an error always be thrown? I have a piece of code which behaves in certain ways based on errors and other ways based on failures and unfortunately the behavior for a failure is being triggered when the behavior for error should occur in both cases. Get your FREE Email and Voicemail at Lycos Communications at http://comm.lycos.com