Por que eu devo ler este artigo:De que se trata o artigo: O artigo aborda o tema Tratamento de Exceções no SQL Server 2008, apresentando diversas situações e as funções que possibilitam a implementação deste recurso.
Para que serve: Aplicar as melhores práticas de desenvolvimento, permitindo a construção de aplicativos mais robustos. O tratamento de exceção é um recurso já reconhecido de programação para aumentar confiabilidade de sistemas.
Em que situação o tema é útil: No desenvolvimento de projetos que usam, por exemplo, procedimentos com código T-SQL no SQL Server 2008.

Os tratamentos de exceções nos aplicativos são parte fundamental da análise de um sistema. É difícil para os analistas de sistemas preverem todas as possibilidades de erro ou exceções que uma determinada rotina poderá causar. Podemos observar que essa é uma grande falha cometida principalmente por profissionais menos experientes. Um bom sistema deve oferecer sempre um tratamento para exceções de maneira eficiente que não comprometa a execução do processo.

Nesse artigo, vamos compreender os recursos disponíveis para tratamento de erros e exceções no SQL Server 2008.

Conceitos (exceções X erros)

Um erro acontece quando o programa esta sendo executado e isso causa a interrupção do mesmo. Se o erro ocorrer no momento em que um usuário do sistema estiver efetuando uma transação, algo muito pior que a interrupção poderá acontecer. Nesse caso, a transação poderá ser abortada ou ser concluída parcialmente.

Existem duas técnicas importantes que podem ajudar a evitar erros:

  1. Detectar quando a falha ocorre em um processo e lidar com essa falha ao invés de permitir que o erro chegue ao ponto crítico de abortar a aplicação. Desta forma o erro existe, mas é contornado com uma mensagem indicando a falha. Essa alternativa é chamada de tratamento de exceção.
  2. Executar testes certificando que os procedimentos do aplicativo não estão causando erro. Isso irá diminuir consideravelmente as possibilidades de erros e permitirá que se encontrem mais pontos a serem tratados como exceções.

Explicando de maneira simplificada, uma exceção é uma falha prevista na rotina e que podemos tratar. Por outro lado, se não tratarmos essa exceção, esta causará a interrupção do sistema caracterizando-se como erro.

O SQL Server 2005 introduziu o conceito de tratamento estruturado de exceções, adotando o padrão já utilizado pelo .Net Framework, ou seja, podemos utilizar blocos delimitados por Try...Catch...Finally.

Sobre as mensagens de erro no SQL Server

As mensagens de erro no SQL Server são compostas de três componentes: Error Number, Severity Level e Error Message.

Error Number é um número inteiro utilizado como identificador da mensagem. Esse número pode ser de 1 até 49999.

O SQL Server possuí níveis de severidade (Severity Level) para suas mensagens de erro. Quando uma ação do SQL Serve necessita retornar uma mensagem de erro, essa mensagem é classificada conforme sua origem e nível de criticalidade. A Tabela 1 apresenta o nível de severidade e a sua descrição. Essa tabela foi copiada e adaptada do link http://msdn.microsoft.com/pt-br/library/ms164086.aspx. Abaixo desta tabela há a legenda com a classificação dos tipos de erro.

Tipo de erro

(ver legenda)

Severidade

Descrição

Erro Tipo 1

0-9

Mensagens informativas que retornam informações de status ou reportam erros que não sejam severos. O Mecanismo de Banco de Dados não gera erros de sistema com severidades de 0 a 9.

10

Mensagens informativas que retornam informações de status ou reportam erros que não sejam severos. Por razões de compatibilidade, o Mecanismo de Banco de Dados converte a severidade 10 em severidade 0 antes de retornar as informações de erro ao aplicativo de chamada.

Erro Tipo 2

11

Indica que um determinado objeto ou entidade não existe.

...
Quer ler esse conteúdo completo? Tenha acesso completo