public void DisposeImp(bool disposing, DbConn aDbConn) { //トランザクションを終了し、DBから切断する try { //GCによる回収時にはCommitAtFinalizingの設定によりCOMMITまたはROLLBACKする if (disposing || aDbConn._commitAtFinalizing) { aDbConn.Commit(); } else { aDbConn.Rollback(); } aDbConn.Close(); } catch (Exception ex) { //GCによる回収時には例外を送出しない if (disposing) { //Error1状態に遷移して例外を再送出する aDbConn.GoToError1AndThrow(ex, true); } } //次の状態に遷移する aDbConn.GoToNextState(End.GetInstance()); }