Jump to content


Photo

Try ... Catch


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 18/12/2008, 16:48

Estava criando um bloco de execução normal numa procedure e me deparei com o seguinte caso:
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 catch
Para 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.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq