Neste guia, você aprenderá como implementar o tratamento de erros no SQL Server usando os blocos de tentativa e captura.
Se você deseja aprender a gerar mensagens de erro definidas pelo usuário, verifique nosso tutorial no tutorial do SQL Server Raiserror.
Introdução
Os blocos de tentativa e captura no servidor SQL permitem prever e graciosamente lidar com erros que podem ocorrer nas consultas SQL.
Primeiro, inclua as consultas SQL que podem causar erros dentro de um bloco de tentativa. Você pode então adicionar um bloco de captura assim que uma exceção for levantada.
A sintaxe para um bloco de tentativa é como mostrado:
Comece a tentarApós o bloco de tentativa, você pode definir um bloco de captura que segue uma sintaxe semelhante como mostrado:
Comece a pegarPrimeiro, o servidor SQL tentará executar o código dentro do bloco de tentativa. Se não ocorrer erro/exceção, ele pula o bloco de captura e prossegue com a execução.
No entanto, se ocorrer um erro dentro do bloco de tentativa, a execução salta dentro da captura e executa o código dentro desse bloco.
A sintaxe para um bloco de tentativa/captura completo é como mostrado:
Comece a tentarVocê pode implementar medidas para lidar com o erro elevado dentro do bloco de captura, como exibir mensagens usando o Raiserror e as instruções de impressão. Lembre -se de que a mensagem de erro dentro do bloco de captura não é devolvida ao aplicativo, a menos que use mecanismos, como uma instrução SELECT.
Você pode usar funções especiais para obter informações detalhadas sobre o erro:
Certifique -se de usar as funções anteriores dentro de um bloco de captura; Caso contrário, eles retornarão um valor nulo.
SQL Server Try/Catch Exemplos
Vamos usar uma divisão por erro zero para ilustrar como usar o bloco de tentativa/captura. Comece criando um procedimento, conforme mostrado nas consultas a seguir:
-- Obtenha informações de erroNo exemplo acima, criamos um procedimento armazenado para recuperar informações sobre um erro. Então, levantamos um erro ao mergulhar por zero.
Se executarmos a consulta acima, devemos obter uma saída como:
O que acontece se não houver erro no bloco de captura como mostrado:
começoComo não há erro no bloco de tentativa, o servidor SQL pula os blocos de captura e retorna o resultado. Um exemplo de resultado é como mostrado:
Conclusão
Este guia abordou a implementação e o uso do manuseio de erros no servidor SQL usando os blocos de tentativa/captura. Além disso, funções especiais foram explicadas e fornecidas para recuperar informações detalhadas sobre o erro. Esperamos que você tenha achado este artigo útil. Confira mais artigos de dica do Linux para obter dicas e informações sobre servidores SQL.