• SET XACT_ABORT ON

    Add that line before you begin the transaction. With that setting, you may not even need a try/catch. The transaction will roll back on error.