Dites que vous avez le code suivant:
Connection conn;
try
{
conn = ... // get connection
conn.setAutoCommit(false);
... // Do some modification queries and logic
conn.commit()
} catch(SQLException e)
{
conn.rollback() // Do we need this?
conn.close()
}
Dans ce code, si il y a une exception, il est le meilleur style seulement de fermer la connexion (depuis autocommit est désactivé), ou explicitement de le faire reculer, puis fermer la connexion? Il n'existe pas de points de sauvegarde.
Je pense qu'il pourrait être judicieux d'ajouter de la restauration appel de la cause:
1) Quelqu'un, dans l'avenir, pourraient ajouter des points de sauvegarde, mais oubliez pas d'ajouter de la restauration
2) Il améliore la lisibilité
3) Il ne devrait pas vous coûter rien du tout, à droite ?
Mais évidemment, aucun de ces est particulièrement convaincante. Toute norme de pratique?
Note: je suis conscient de la nécessité de faire une répétition de try/catch sur la fermeture et de restauration. En fait, j'ai un middleware qui fait abstraction de la base de données access et prend soin de cela, mais je me demandais si en ajoutant qu'il était superflu.