Powinieneś przeczytać to:
http://www.sommarskog.se/error-handling-I.html
Nie mogę wystarczająco polecić tego linku. Jest trochę za długi, ale w dobry sposób.
Z przodu znajduje się zastrzeżenie, że został pierwotnie napisany dla SQL Server 2000, ale obejmuje również nowe możliwości obsługi błędów try/catch w SQL Server 2005+.