Функция ERROR_NUMBER важна при обработке ошибок в SQL Server, потому что она возвращает номер ошибки, которая вызвала выполнение блока CATCH конструкции TRY…CATCH. 23
В отличие от таких функций, как @@ERROR, которые возвращают номер ошибки только в той инструкции, которая непосредственно следует за инструкцией, вызвавшей ошибку, ERROR_NUMBER возвращает соответствующий номер ошибки независимо от количества её выполнений или от места её вызова в области действия блока CATCH. 2
Также во вложенном блоке CATCH функция ERROR_NUMBER возвращает номер ошибки, соответствующий области действия блока CATCH, который ссылался на данный блок CATCH. 2 Например, во внутреннем блоке CATCH она возвращает номер ошибки, вызвавшей внутренний блок CATCH, а если функция выполняется во внешнем блоке CATCH, она возвращает номер ошибки, вызвавшей внешний блок CATCH. 2