Mercurial > 510Connectbot
view src/ch/ethz/ssh2/SFTPException.java @ 392:7ac1a0b02f44
add test buffer changed when input stream runs dry, similar to async test
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Tue, 16 Sep 2014 16:22:41 -0700 |
parents | 071eccdff8ea |
children |
line wrap: on
line source
/* * Copyright (c) 2006-2011 Christian Plattner. All rights reserved. * Please see the LICENSE.txt for licensing details. */ package ch.ethz.ssh2; import java.io.IOException; import ch.ethz.ssh2.sftp.ErrorCodes; /** * Used in combination with the SFTPv3Client. This exception wraps * error messages sent by the SFTP server. * * @author Christian Plattner * @version 2.50, 03/15/10 */ public class SFTPException extends IOException { private static final long serialVersionUID = 578654644222421811L; private final String sftpErrorMessage; private final int sftpErrorCode; private static String constructMessage(String s, int errorCode) { String[] detail = ErrorCodes.getDescription(errorCode); if (detail == null) return s + " (UNKNOWN SFTP ERROR CODE)"; return s + " (" + detail[0] + ": " + detail[1] + ")"; } SFTPException(String msg, int errorCode) { super(constructMessage(msg, errorCode)); sftpErrorMessage = msg; sftpErrorCode = errorCode; } /** * Get the error message sent by the server. Often, this * message does not help a lot (e.g., "failure"). * * @return the plain string as sent by the server. */ public String getServerErrorMessage() { return sftpErrorMessage; } /** * Get the error code sent by the server. * * @return an error code as defined in the SFTP specs. */ public int getServerErrorCode() { return sftpErrorCode; } /** * Get the symbolic name of the error code as given in the SFTP specs. * * @return e.g., "SSH_FX_INVALID_FILENAME". */ public String getServerErrorCodeSymbol() { String[] detail = ErrorCodes.getDescription(sftpErrorCode); if (detail == null) return "UNKNOWN SFTP ERROR CODE " + sftpErrorCode; return detail[0]; } /** * Get the description of the error code as given in the SFTP specs. * * @return e.g., "The filename is not valid." */ public String getServerErrorCodeVerbose() { String[] detail = ErrorCodes.getDescription(sftpErrorCode); if (detail == null) return "The error code " + sftpErrorCode + " is unknown."; return detail[1]; } }