13
Excepções Desenvolvimento em .NET

Desenvolvimento em .Net - Excepções

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Desenvolvimento em .Net - Excepções

Excepções

Desenvolvimento em .NET

Page 2: Desenvolvimento em .Net - Excepções

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

Page 3: Desenvolvimento em .Net - Excepções

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.

Page 4: Desenvolvimento em .Net - Excepções

● 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?

Page 5: Desenvolvimento em .Net - Excepções

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...

Page 6: Desenvolvimento em .Net - Excepções

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.

Page 7: Desenvolvimento em .Net - Excepções

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.

Page 8: Desenvolvimento em .Net - Excepções

Exercicio

● Criar novo projecto chamado 0010_Excepcoes

Page 9: Desenvolvimento em .Net - Excepções

Bubble Exception● Não confundir com o Bubble Bobble!

Page 10: Desenvolvimento em .Net - Excepções

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

Page 11: Desenvolvimento em .Net - Excepções

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

Page 12: Desenvolvimento em .Net - Excepções

Custom Exceptions● Exception é um objecto

– então podemos herdar dele e criar uma implementação mais descritiva.

● Boa prática– criar custom exceptions

Page 13: Desenvolvimento em .Net - Excepções

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