Ho un problema con try-with-resources e sto chiedendo solo per essere sicuro. Posso usarlo, se devo reagire all'eccezione, e ho ancora bisogno della risorsa nel blocco catch? Esempio dato è questo:Rollback transazioni su SQLException utilizzando il nuovo blocco try-with-resources
try (java.sql.Connection con = createConnection())
{
con.setAutoCommit(false);
Statement stm = con.createStatement();
stm.execute(someQuery); // causes SQLException
}
catch(SQLException ex)
{
con.rollback();
// do other stuff
}
temo che sto ancora condannato a usare il vecchio try-catch-finally, in questo caso, anche in base alla documentazione Oracle - "blocchi catch e infine in un try-con-risorse dichiarazione, ogni blocco catch o finally viene eseguito dopo che le risorse dichiarate sono state chiuse. "
In questo caso se la connessione stessa non ha funzionato, non è necessario ripristinarla. Lo scopo di 'con' è limitato a provare solo il blocco. – learningloop
Questa domanda può essere d'aiuto. http://stackoverflow.com/questions/9260159/java-7-automatic-resource-management-jdbc –
Di tutte le opzioni interessanti fornite, continuo a preferire la soluzione originale "try-catch-finally' – Adam