How, exactly DO I use getAttributes to work out if (General questions)
by Daniel, Tuesday, June 02, 2009, 12:31 (5655 days ago)
Hi,
Checking for the existence of a directory (or, indeed, a file).
I know the client gets a 30018 error and that this goes to the 'Done' event, but what _actually_ recieves this error? What can I query, in my IF statement, to determine that the result was a null directory? A code example would be nice, since I cannot seem to find one.
Re: How, exactly DO I use getAttributes to work ou
by wodDamir, Tuesday, June 02, 2009, 12:38 (5655 days ago) @ Daniel
Hi Daniel,
I assume you are using Blocking mode. In that case, you can simply ignore exceptions in your code, and check LastError immediately after the method executes.
I.e:
[code]On Error Resume Next
wodSftp1.RealPath( / )
if wodSftp1.LastError = 0 then
'Do something
else
'do something else
End if[/code]
Can you try something like that?
Regards,
Damba
Re: How, exactly DO I use getAttributes to work ou
by Daniel, Tuesday, June 02, 2009, 12:43 (5655 days ago) @ wodDamir
Nice work, thanks. I'll give it a shot. LastError = 0 equates to success, I take it?
Re: How, exactly DO I use getAttributes to work ou
by wodDamir, Tuesday, June 02, 2009, 12:47 (5655 days ago) @ Daniel
Daniel,
Yes. When 0 is indicated for error, that means that there was none, and method executed correctly.
Regards,
Damba
Re: How, exactly DO I use getAttributes to work ou
by Daniel, Tuesday, June 02, 2009, 13:07 (5655 days ago) @ wodDamir
Okay. great. In fact, since it's a utility method I can just return the result from wodSftp1.LastError = 0 ... except Visual Studio is now complaining that operator '=' is not defined for system exceptions.
Re: How, exactly DO I use getAttributes to work ou
by wodDamir, Tuesday, June 02, 2009, 13:22 (5655 days ago) @ Daniel
Daniel,
You're using wodSFTP.Net or wodSFTP?
If you're using .Net, why don't you simply try using try...catch statements to catch exception on certain method?
Regards,
Damba
Re: How, exactly DO I use getAttributes to work ou
by Daniel, Tuesday, June 02, 2009, 13:35 (5655 days ago) @ wodDamir
Ah, right. Something like:
Try
wodSFTP.RemotePath = strDirectory
Return True
Catch
Return False
End Try
I suppose it's just that deliberately testing for failure, and then working forwards from an assumption as to why it failed, seems a bit counter-intuitive, but I guess there's only so much information that can be gained from looking down a secure pipe, and trying to interpret the messages that come back.
Re: How, exactly DO I use getAttributes to work ou
by wodDamir, Tuesday, June 02, 2009, 13:51 (5655 days ago) @ Daniel
Daniel,
Please note that setting RemotePath will never cause an exception. RemotePath doesn't send anything to server, but only sets property.
You need to actually call a method in order to send something to server.
As for errors/exception handling, any of these should work:
[code] Try
sftp1.ListDir( /home/weonlydo/ )
Catch ex As Exception
'An error occured, do something
End Try
Or:
On Error Resume Next
sftp1.ListDir( /home/weonlydo )
If sftp1.LastError.Message <> Nothing Then
'...
End If[/code]
Hope I helped.
regards,
Damba