I investigated doing this.  For example, we get IOException's of a certain shape if the server name doesn't exist; we could avoid in this case.  This uniform handling is easy to understand and nice for testing (if you throw out the easy cases, how do you ever fail to upload or delete?).  How much do you care?