This doesn't look like a good idea! Throwing before abort should leave the transaction open and not properly abort it.