desenvolvimento em .net - excepções
Post on 05-Dec-2014
1.454 Views
Preview:
DESCRIPTION
TRANSCRIPT
Excepções
Desenvolvimento em .NET
Objectivos● Conhecer conceito de tratamento de erros
estuturado● Saber usar try-catch-finally● Distinguir entre verificação de erros e
tratamento de excepções● Bubble exception● Excepções mais comuns● Criar custom exceptions
O que é um erro?● um resultado negativo não é necessariamente
um erro!● exemplo:
– ao fazer login indico um nome de utilizador que não existe.
● não é um erro porque é um resultado expectável e a aplicação sabe o que pode fazer a seguir: login inexistente.
● exemplo:– uma aplicação precisa de um parâmetro que está
num ficheiro de texto, no entanto esse ficheiro foi apagado.
● é um erro porque não há nenhum caminho alternativo para o código continuar a correr.
O que é um erro?
Tratamento de Erros Tradicional● executar função + verificar error_status
– “dificil” de implementar– verificamos o error_status depois de cada funçao...
linha sim linha não? verificamos só depois daquelas funções que normalmente dão erros?
● on error goto TratamentoErro:– pouco flexivel– dentro do TratamentoErro temos que ter mais um
case com todas os erros possiveis e imaginarios...
Tratamento de Erros Estruturado● Try – Catch – Finally
– try – tenta executar este código– catch – se ocorrer um erro do tipo xpto então faz
isto– finally – de qualquer forma faz sempre isto.
Verificação de erros e Tratamento de Excepções
● o facto de conseguirmos tratar um erro não quer dizer que abdiquemos de o tentar evitar– exemplo: se sei que vou precisar de abrir um
ficheiro faz sentido que verifique primeiro se ele existe.
Exercicio
● Criar novo projecto chamado 0010_Excepcoes
Bubble Exception● Não confundir com o Bubble Bobble!
Bubble Exception● bubble => numa hierarquia de objectos refere-
se à passagem de uma classe para a sua base classe
● bubble exception => se uma excepção não for tratada onde ocorrer passa para o primeiro try-catch que encontrar na call stack
Excepções mais comuns● ArgumentException – argumento de um
procedimento inválido● ArgumentNullException – argumento de um
procedimento inválido porque é igual a null● ArgumentOutOfRangeException – argumento
de um procedimento inválido porque está fora dos limites definidos para esse parametro
Custom Exceptions● Exception é um objecto
– então podemos herdar dele e criar uma implementação mais descritiva.
● Boa prática– criar custom exceptions
Objectivos● Conhecer conceito de tratamento de erros
estuturado● Saber usar try-catch-finally● Distinguir entre verificação de erros e
tratamento de excepções● Bubble exception● Excepções mais comuns● Criar custom exceptions
top related