Tratamento de Exceção no SQL Server 2008 - SQL Magazine 82
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.
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:
- 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.
- 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." |
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo