Domanda

Ho il seguente blocco di codice, che usa la libreria JSch trovato alla http: //www.jcraft. com / jsch /

try {
    channel.put(f, filename);
} catch (FileNotFoundException e) {
    System.out.println("no file.");
}

So che il metodo put può lanciare una FileNotFoundException quando il file specificato da f non si trova a livello locale, ma eclissi mi dice che il blocco catch è irraggiungibile, e tale eccezione non può mai essere gettato. Quando cambio a:

try {
    channel.put(f, filename);
} catch (Exception e) {
    System.out.println(e.getMessage());
}

I ottenere:

java.io.FileNotFoundException: C:\yo\hello2 (The system cannot find the file specified)

Tutte le idee?

È stato utile?

Soluzione

Credo che il tuo FileNotFoundException è avvolto in un altro gettato con il metodo channel e per questo non si può prendere.

Provare a stampare la classe del eccezione generata dal metodo:

...
} catch (Exception e) {
   System.out.println(e.getClass());
}

Altri suggerimenti

Controlla gli estratti conto di importazione per assicurarsi di non sta importando una classe FileNotFoundException da un pacchetto di oltre java.io.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top