Estou com dúvidas para tratar este erro, é uma boa prática colocar um try identado a outro ???
public Transact() {
Connection conn;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:Teste","","");
Statement stmt = conn.createStatement();
conn.setAutoCommit(false);
try {
stmt.executeUpdate(sql1);
stmt.executeUpdate(sql2);
stmt.executeUpdate(sql3);
conn.commit();
System.out.println("ok");
}
catch(SQLException e) {
conn.rollback();
System.out.println("Transação falhou");
}
conn.setAutoCommit(true);
}
catch(ClassNotFoundException e) {
System.out.println(e.toString());
}
catch(SQLException e) {
System.out.println(e.toString());
}
}
Eu não consegui tratar o Rollback com o catch mais abaixo, pois ele não tinha certeza de que o objeto conn havia instânciado, então resolvi colocar um try dentro de outro e funcionou !!!
Estou na caminho certo ???