Olá
pessoal, como estão? Tenairam muito seus aprendizados esta
semana? Hoje falaremos sobre Tratamento de Exceções, um assunto
super importante e bem solicitado.
São com as exceções que tratamos os erros que aparecem na execução de trarefas em nossas aplicações. Uma exceção acontece quando algo deu errado, ou seja, quando não aconteceu aquilo que era esperado, então neste momento o Delphi executa a exceção que poderá resolver ou não, desde que, é claro, seu código tenha sido programado para isso, no lugar de mostrar aquela mensagem indesejável ao usuário.
A principal finalidade de usarmos o tratamento de exceções em nossas aplicações em Delphi é torná-lo mais robusto por meio de manipulação de erros. As exceções permitem que o código de tratamento e erros de seu código normal sejam separados, o que torna seu código final mais compacto e simples de enteder. Uma outra vantagem em usar execeções é que elas definem um mecanismo de relato de um erro uniforme que também é usado pelo componentes do Delphi.
As exceções se baseiam em quatro blocos especiais:
.
Try, que indica o início de um
bloco de comandos protegidos;
.
Except, que delimita o final
de um bloco de comandos protegidos e põe os códigos de tratamento
de exceção;
.
Finally, que é usado para especificar
os blocos de comandos que sempre serão executados independente
do resultado;
.
Raise, que é a instrução usada
para gerar uma exceção.
Um dos erros mais comuns e mais apresentados nos livros é o erro de divisão por zero, ou seja, quando o denominador de sua divisão é zero. Exemplo: X / Y, onde X é um número qualquer diferente de zero e Y é igual a zero.
Poderiamos utilizar também o tratamento de exceções para outras situções como por exemplo erro de conversão por tipos incompatíveis ou um erro na gravação de um registro. Vamos utilizar o exemplo da divisão entre dois números por ser bem didático, sendo que veremos como funciona a exceção nesta situação.
Vamos ao exemplo prático então:
1.
Crie um novo projeto no Delphi;
2. Declare uma nova fução passando
os números x, y do tipo inteiro ou qualquer outro tipo numérico
que desejar;
3. Construa o esqueleto da funcção
ou Precione Ctrl+Shift+C para o Delphi fazer isso para você;
4. Defina agora o código da sua
função como o exemplo a seguir:
function
Dividir(X, Y: integer): integer; begin try
Result := X div Y; except on EDivByZero
do begin
Result := 0;
ShowMessage('Erro! Divisor igual a zero.
Divisão inválida!);
end;
end;
end;
5. Neste nosso exemplo se o valor de Y for igual a zero, a função retornará um zero ao invéz de interromper o programa apenas com um erro.
Nessa instrução de Tratamento de Exceção, pegamos a exceção EDivByZero que é intena do Delphi. O Delphi define uma hierarquia de exceções e você pode optar por manipular cada tipo de exceção de forma diferente ou agrupa-las em conjuntos.
Espero vocês na semana que vêm.
Um grande abroço e estudem.Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.