J'utilise JODConverter pour convertir .xls et .ppt en format .pdf. Pour cela, j'ai le code quelque chose commeBug bizarre en Java try-catch-finally
try{
//do something
System.out.println("connecting to open office");
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
System.out.println("connection object created");
connection.connect();
System.out.println("connection to open office successful");
//do something
if(!successful)
throw new FileNotFoundException();
}catch(Exception e){
System.out.println("hello here");
System.out.println("Caught Exception while converting to PDF ");
LOGGER.error("Error in converting media" + e.getMessage());
throw new MediaConversionFailedException();
}finally{
decode_pdf.closePdfFile();
System.out.println("coming in finally");
//do something here
}
Ma sortie:
connecting to open office
connection object created
coming in finally
post-scriptum le type de retour de la méthode est void
Comment est-ce possible? Même s'il y a un problème dans connection.connect(), il s'installe en catch block. confus
essayer d'attraper 'Throwable', et regarder stacktrace, peut-être conection.connect() a lancé une erreur (qui s'étend également Throwable). – amit
Peut-être que vous avez un 'java.lang.Error'? – wjans
Pourquoi ne pas attacher un débogueur et voir ce qui se passe? Je suppose qu'il vous manque une classe/bibliothèque, donc 'connection.connect()' donne un 'ClassNotFoundError'. Cela ne serait pas considéré comme une exception, mais cela vous mènerait à la clause 'finally'. –