Dovresti leggere questo:
http://www.sommarskog.se/error-handling-I.html
Non posso raccomandare abbastanza caldamente quel collegamento. È un po' lungo, ma in senso buono.
C'è un disclaimer nella parte anteriore che è stato originariamente scritto per SQL Server 2000, ma copre anche le nuove capacità di gestione degli errori try/catch in SQL Server 2005+.