wouldn't you want to raise the exception here? this means just nothing happens on start_transaction if it fails?