Download - Desenvolvimento em .Net - Excepções
![Page 1: Desenvolvimento em .Net - Excepções](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/1.jpg)
Excepções
Desenvolvimento em .NET
![Page 2: Desenvolvimento em .Net - Excepções](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/4.jpg)
● 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](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/8.jpg)
Exercicio
● Criar novo projecto chamado 0010_Excepcoes
![Page 9: Desenvolvimento em .Net - Excepções](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/9.jpg)
Bubble Exception● Não confundir com o Bubble Bobble!
![Page 10: Desenvolvimento em .Net - Excepções](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.com.br/reader036/viewer/2022082603/5489a0a6b47959f10c8b5a01/html5/thumbnails/13.jpg)
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