Мы используем SQL 2005 и функциональность try-catch для обработки всей нашей обработки ошибок в БД. В настоящее время мы работаем над развертыванием функции .NET CLR для выполнения некоторых вызовов WCF в БД. Эта процедура WCF записывается в CLR, а затем развертывается в SQL. Если я помещаю блок try-catch в код CLR, он отлично ловит ошибку. Однако я не могу выбросить ошибку до блока try-catch в SQL. SQL, кажется, игнорирует то, что я выбрасываю, и ловит найденную ошибку. Разве нет никакой связи между ними (то есть я не могу бросить одного на другого?)
Если я могу бросить из CLR в вызывающую процедуру в SQL, нужно ли какое-либо специальное форматирование? Я попытался в конкретном случае перехватить выданную ошибку и затем выдать другую ошибку, но SQL проигнорировал мою выданную ошибку и уловил исходную ошибку, как если бы он проигнорировал выданную ошибку.