Buscar

18 Aula Controle Exceções

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Controle de Exceções
Programação Orientada a Objetos
 
EXCEÇÕES
Controle de Exceções no Java - Exceptions
Programação Orientada a Objetos
 
Exceções
● Uma exceção é um evento, normalmente associado a um 
erro, e que ao ser disparado interrompe o fluxo normal de 
execução da aplicação. 
● Exceções ocorrem durante a execução de aplicativos, como 
por exemplo divisões por zero, acesso a posições inválidas 
(em listas ou arrays). 
● Como o próprio nome indica ... exceções são situações que 
não ocorrem com frequência 
Programação Orientada a Objetos
 
Exceções (cont.)
● Erros são comuns em tempo de execução e as aplicações devem 
estar preparadas para tratá-los sem abortar o programa e perder os 
dados dos usuários. 
● Tratar os erros é uma tarefa que demanda bastante codificação, 
tornando muitas vezes o código difícil de entender; 
● O conceito de tratamento de exceções permite ao programador 
“lidar” com o problema (tratando-o) e permitindo ao programa 
continuar sua execução. 
● Exceções habilitam programadores a escrever códigos robustos e 
tolerantes a falhas. 
Programação Orientada a Objetos
 
Vantagens no uso de Exceções
● Separação do código regular (fluxo normal), do código de 
tratamento de exceções; 
● Propagação de erros através dos métodos da pilha de chamadas 
(método 1, chama o método 2, que chama o método 3 ... somente um 
deles precisa se preocupar em tratar os erros); 
● Agrupamento e diferenciação de erros (e seus respectivos 
tratamentos); 
● Obrigatoriedade de tratamento (exceções não podem ser 
ignoradas); 
Programação Orientada a Objetos
 
Exceções … exemplos
● A classe abaixo possui um método chamado “dividir” que devolve a 
divisão de um número por seu numerador. 
O que aconteceria se informasse 
0 (zero) para o denominador?
E se digitar “um” ao invés de 1?
Programação Orientada a Objetos
 
Tratamento de Exceções
Bloco try 
● Delimita o bloco de código que pode originar exceções; 
Bloco catch 
● Bloco que define como determinada exceção deve ser tratada (o que deve acontecer 
se ela ocorrer); 
● Não é necessário que todas as exceções possíveis sejam tratadas (pode-se utilizar 
uma superclasse de exceção para agrupar tratamentos ou propagá-la para outro 
tratador); 
Bloco finally 
● Contém o código responsável pela finalização (fechamento de arquivos, liberação de 
recursos); 
● É uma extensão do try, será executado havendo ou não erros 
Programação Orientada a Objetos
 
Tratamento de Exceções
Observe o tratamento .. 
try { 
 //Código a ser exec. 
} catch (Erro1 e1) { 
 //Código se ocorrer o erro 1 
} catch (Erro2 e2) { 
 //Código se ocorrer o erro 2 
} finally { 
 //Finalização ... 
 //Código que será executado se 
 //ocorrerem ou não erros 
} 
Programação Orientada a Objetos
 
Propagando Exceções
● Nem sempre uma exceção é tratada localmente (ou seja, no local 
onde o erro pode acontecer) ... Uma exceção pode ser 
propagada ... 
● Propagar uma exceção significa avisar o código que irá chamar o 
método onde o erro pode ocorrer que ele é um código que 
merece tratamento (que é propenso a uma determinada 
exceção). 
● Uma exceção é propagada através do comando throws 
Programação Orientada a Objetos
 
Propagando Exceções (cont..)
● Por que o código abaixo não compila?
unreported exception java.io.FileNotFoundException; 
must be caught or declared to be thrown 
thro
ws F
ileNo
tFou
ndEx
cept
ion
Algumas 
construções de 
código
exigem que 
exceções 
sejam 
tratadas ou 
propagadas 
Programação Orientada a Objetos
 
Hierarquia de Exceções no Java
● A superclasse de toda exceção é a classe Throwable; 
● Somente objetos filhos de Throwable podem ser tratados 
(try/catch/finally) 
● Throwable se divide em 
– Error – representando situações anormais da JVM e de difícil 
recuperação; 
– Exception – representando situações anormais do programa e que 
podem ser capturadas e tratadas. Podem ser: 
● Verificadas (checked) quando são geradas por situações não controladas pelo programa 
(um arquivo que não existe, por exemplo). Seu tratamento é exigido pelo compilador. 
● Não Verificadas (unchecked) geralmente causadas por deficiências no código. 
Programação Orientada a Objetos
 
Hierarquia de Exceções no Java
Programação Orientada a Objetos
 
Levantando Exceções 
● A hierarquia de classes de exceções pode ser estendida de forma 
a criar novos tipos de exceções. 
● Levantar uma exceção significa indicar que um erro ocorreu e 
precisa de tratamento 
● Uma exceção é lançada através do comando throw 
Programação Orientada a Objetos
 
Levantando Exceções (cont..) 
● Nova exceção.
● Levantando (criando) a nova exceção..
Programação Orientada a Objetos
 
Resumindo..
● Exceções são um tipo especial de classe que a linguagem 
orientada a objetos oferece um tratamento diferenciado ... 
● Em Java, as exceções ... 
– são representadas por classes 
– são lançadas pelo comando throw 
– são tratadas pela estrutura try-catch-finally 
– podem ser propagadas pelo comando throws;
– podem ser verificadas pelo compilador ou não; 
Programação Orientada a Objetos
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16

Continue navegando