我现在已经多次看到这种模式:
bool success = false;
try
{
DoSomething();
success = true;
}
finally
{
if (!success)
Rollback();
}
我一直在想:为什么这比使用 catch 进行回滚更好?
try
{
DoSomething();
}
catch
{
Rollback();
throw;
}
确保更改在失败时回滚的两种方法之间有什么区别?