getting the error description in your sp is very easy: you know the errorcode and the errmessage is in the master.dbo.sysmessages. just wrote myself an UDF to get the errmessage for my log.
problem: you have to manage the security (access to master...) but as most of our really heavy batches are running with highlevel permissions..
cheers
moritz