Я столкнулся с хранимой процедурой, которая имела следующий блок обработки ошибок сразу после попытки обновления. Далее были последние строки СП.
Есть ли в этом польза? Мне кажется, что этот код просто повторно генерирует ту же ошибку, которую он поймал, без какой-либо добавленной стоимости, и что код предположительно будет вести себя на 100% так же, если бы блок Try был полностью опущен.
Будет ли какая-либо разница в поведение полученного SP, если блок TRY был опущен?
BEGIN CATCH
SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSev = ERROR_SEVERITY(), @ErrState = ERROR_STATE()
RAISERROR (@ErrMsg, @ErrSev, @ErrState)
END CATCH