Ho visto questo modello un paio di volte:Utilizzando infine, invece di cattura
bool success = false;
try
{
DoSomething();
success = true;
}
finally
{
if (!success)
Rollback();
}
E mi sono chiesto: perché questo è meglio che usare delle catture di rollback?
try
{
DoSomething();
}
catch
{
Rollback();
throw;
}
Quali sono le differenze tra i due modi per assicurarsi che le modifiche vengano ripristinate in caso di errore?
Questo ha senso. Non mi ero reso conto che Java non ti consentisse di replicare correttamente le excpetions. E qui stavo pensando che questo avrebbe avuto qualcosa a che fare con sezioni critiche e simili ... – configurator
@configurator: Ora che ne parli, penso che potrebbe esserci una connessione a [Constrained Execution Regions] (http://msdn.microsoft.com/en-us/library/ms228973.aspx). – dtb
-1 per "In Java non c'è modo di rilanciare un'eccezione" - [a parte 'throw e', ovvero] (http://stackoverflow.com/a/1097539/265143). –