TRY CATCH Block в T-SQL

Я столкнулся с хранимой процедурой, которая имела следующий блок обработки ошибок сразу после попытки обновления. Далее были последние строки СП.

Есть ли в этом польза? Мне кажется, что этот код просто повторно генерирует ту же ошибку, которую он поймал, без какой-либо добавленной стоимости, и что код предположительно будет вести себя на 100% так же, если бы блок Try был полностью опущен.

Будет ли какая-либо разница в поведение полученного SP, если блок TRY был опущен?

BEGIN CATCH

SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSev = ERROR_SEVERITY(), @ErrState = ERROR_STATE()
        RAISERROR (@ErrMsg, @ErrSev, @ErrState)

END CATCH
7
задан ChadD 14 February 2011 в 14:36
поделиться