Ao selecionar algo que gera um erro (1 modo), meu bloco try...catch executa ambos, tanto o try quanto o catch,
mas ao criar uma variável e ter o valor dela algo que gere também um erro, o bloco try ... catch executa normalmente.
veja o seguinte:
begin try /* 1 modo */ declare @teste int set @teste = 1/0 select @teste /* 2 modo */ -- select 1/0 as divisao end try begin catch select error_message() as errormessage end catchPara testarem execute com o /*2 modo*/ comentado e o /*1 modo*/ descomentado ... e novamente
com os os modos comentados inversamente.
Tenho algumas teorias para o caso, mas vou procurar algo mais contreto...
Não estou tendo problemas com o try...catch não, é somente uma dúvida, pois ele reage de 2 formas diferentes!
Edição feita por: Renan L. Queiroz, 18/12/2008, 16:53.