Sono in questo scenario


***

Comando.ExecuteNonQuery()

Transazione.Commit()

qui istruzione che va in errore

Catch ex As System.Data.OleDb.OleDbException
Transazione.Rollback()

****

Allora, dopo aver fatto il commit, una istruzione lancia una eccezione. Nel Catch tento di fare il Rollback, ma questo mi lancia a sua volta una eccezione: La transazione è completata e non può più essere utilizzata.
Domanda, è possibile verificare prima che la transazione sia ancora valida? e se sì, come?