With SQLServer 2012, you can try exec sp_your_procedure_with_try_catch, it worked for me.
Actually several of my triggers have the logics in one key SP. I didn't know try-catch is not allowed in UDF, until I tried to rewrite some of them without the SP.