Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не запускается TRY / CATCH (для некоторых типов ошибок?)  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
Почему в первом запросе не передается управление в CATCH после возникновения ошибки, а во втором передается?

	begin try
		select U.iPPSTransactionId from sys.sysobjects uu
	end try
	begin catch
		print error_message()
	end catch


	begin try
		select 1/0
	end try
	begin catch
		print error_message()
	end catch
27 фев 13, 00:08    [13985882]     Ответить | Цитировать Сообщить модератору
 Re: Не запускается TRY / CATCH (для некоторых типов ошибок?)  [new]
asd24
Member

Откуда:
Сообщений: 47
BusyMan,
в первом случае ошибка синтаксическая (выкидывает компилятор), во втором - уже при расчетах(выкидывает конструкция try-catch)
27 фев 13, 00:18    [13985914]     Ответить | Цитировать Сообщить модератору
 Re: Не запускается TRY / CATCH (для некоторых типов ошибок?)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Внезапно, try/catch ловит не все ошибки.

Сообщение было отредактировано: 27 фев 13, 00:46
27 фев 13, 00:46    [13985973]     Ответить | Цитировать Сообщить модератору
 Re: Не запускается TRY / CATCH (для некоторых типов ошибок?)  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
Гавриленко Сергей Алексеевич
Внезапно, try/catch ловит не все ошибки.

Я был под ошибочным впечатлением что все, потому что видел ошибки "Invalid column name" и тп в своих логах. Поэтому я подумал что они "вдруг внезапно" перестали ловиться. Оказалось это изза того что у меня тут буквально все все запускалось как Dynamic SQL. А там чуть подругому работает:


	begin try
		exec sp_executesql @statement=N'select U.iPPSTransactionId from sys.sysobjects uu'
	end try
	begin catch
		print error_message()
	end catch

	begin try
		exec sp_executesql @statement=N'print 1/0'
	end try
	begin catch
		print error_message()
	end catch
27 фев 13, 01:55    [13986064]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить