Salve a tutti, vi spiego il mio problema.
Sto realizzando in java un programma che sta in ascolto su una directory, e da questa directory prendo solo file .txt contenenti codice xml. Il mio problema sta nel gestire particolari situazioni di errore come per esempio xml formattato male oppure non presente. Di seguito vi posto la porzione di codice con cui sto provando a gestire l'errore:
for(int j=0;j<fls.length;j++){
File file=fls[j];
//renameMalformedFile(file);
try {
SAXBuilder builder = new SAXBuilder();
Document document =(Document) builder.build(file);
Description= (document.getRootElement().getChild("DESCRIZIONE") .getValue());
Title= (document.getRootElement().getChild("TITOLO").getV alue());
Duration= (document.getRootElement().getChild("DURATA").getV alue());
}catch (JDOMException e) {
e.printStackTrace();
renameMalformedFile(file);
}catch (IOException e) {
e.printStackTrace();
}
........
}
Se l'xml è formattato bene il programma va ma, la cosa strana(per me), è che nel caso in cui va nel catch il programma passa per il metodo renameMalformedFile(file), lo esegue ma non va a buon fine(rinomino il file in modo k non sia piu processato), mentre, facendo una prova l'ho messo all'inizio del try (come vedete è commentato) funziona e rinomina il file, mi spiegate il perchè di questo comportamento?
Grazie a tutti.