A generic mensage ("Exception of type 'Tamir.SharpSsh.jsch.SftpException' was thrown.") is atributted to the Property "Message" of the class "System.Exception"
And the true message is attributed to the property "message" (yes, begining with an uncapitalized M) of the class "SftpException"
Perhaps we could just change the constructor of the class SftpException to pass the message to the it's base class (java.Exception)
Something like this:
public SftpException (int id, String message):base(message)
instead of the actual:
public SftpException (int id, String message):base()
That way every time a System.Exception were catched it will have a specific message instead of a generic one.