예제 #1
0
 public void Rollback(DbConn aDbConn)
 {
     //トランザクションを取り消す
     try {
         aDbConn.RollbackImp();
     } catch (Exception ex) {
         //ROLLBACKに失敗した場合は再度ROLLBACKを行い、
         //それが成功した場合は正常な処理に復帰する
         try {
             aDbConn.RollbackImp();
         } catch (Exception ex2) {
             //Error1状態に遷移して例外を再送出する
             aDbConn.GoToError1AndThrow(ex2, true);
         }
     }
     //次の状態に遷移する
     aDbConn.GoToNextState(Rollbacked.GetInstance());
 }