I've seen this pattern a few times now:
bool success = false;
try
{
DoSomething();
success = true;
}
finally
{
if (!success)
Rollback();
}
And I've been wondering: Why is this better than using catch for rollbacks?
try
{
DoSomething();
}
catch
{
Rollback();
throw;
}
What are the differences between the two ways of making sure changes are rolled back on failure?
No comments:
Post a Comment