Не пропустите raiserror(@errMessage, @errNumber,1)
. Аргументами для RAISERROR являются идентификатор сообщения, серьезность , состояние. Вы передаете @errNumber для серьезность , что неверно.
Вместо этого следует вызвать пользовательскую ошибку и передать информацию об обнаруженной исключительной ситуации в сообщении об ошибке при вставке формата сообщения:
RAISERROR(N'insert_emp: Error %i: %s', 16, 1, @errNumber, @errMessage);
Вы должны использовать уровень серьезности 16 для ошибок, которые вы хотите вызвать SqlException при обработке на стороне клиента (или другое исключение, в соответствии с используемой технологией доступа клиента).
Вы должны использовать уровень серьезности 1 для информационных сообщений.