У меня проблема с try-with-ресурсами, и я прошу только быть уверенным. Могу ли я использовать его, если мне нужно реагировать на исключение, и мне все еще нужен ресурс в блоке catch? Приведенный ниже пример:
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
}
Я боюсь, что я все еще обречен использовать старый try-catch - наконец, в этом случае, даже в соответствии с документацией oracle - "catch и, наконец, блокирует оператор try-with-resources, выполняется любой блок catch или finally после того, как объявленные ресурсы были закрыты".