• Imprimir

 

try e catch ( que não é dupla sertaneja ).

Receita de Bolo para não dar bolo no seu banquinho.

Testar se a tramação e em caso de erro informar e recuperar é possível. 

Para isto existe a dupla try e catch.

Qualquer coisa vai la no end. https://msdn.microsoft.com/pt-br/library/ms175976.aspx 

 

begin

begin transaction

begin try

-- Executa a Transação desejada que pode dar o erro.

-- Exemplo :

( DELETE UPDATE INSERT REF : https://msdn.microsoft.com/pt-br/library/ms175976.aspx  )

commit transaction;

end try

begin catch

-- Muito útil usar um report de erro e ate mesmo enviar por e-mail é.

SELECT 

        ERROR_NUMBER() AS ErrorNumber

       ,ERROR_SEVERITY() AS ErrorSeverity

       ,ERROR_STATE() AS ErrorState

       ,ERROR_LINE () AS ErrorLine

       ,ERROR_PROCEDURE() AS ErrorProcedure

       ,ERROR_MESSAGE() AS ErrorMessage;

 

-- Funcoes de erros que podem ser utilizadas :

ERROR_NUMBER() retorna o número do erro.

ERROR_SEVERITY() retorna a severidade.

ERROR_STATE() retorna o número do estado do erro.

ERROR_PROCEDURE() retorna o nome do procedimento armazenado ou do gatilho no qual ocorreu o erro.

ERROR_LINE () retorna o número de linha dentro da rotina que causou o erro.

ERROR_MESSAGE () retorna o texto completo da mensagem de erro. O texto inclui os valores fornecidos para quaisquer parâmetros substituíveis, como comprimentos, nomes de objeto ou horas.

 

-- Vai volta ao ponto antes do erro da transação.

rollback transaction;

 

end catch

end