Linguagem de Programação JAVA

Propaganda
Linguagem de Programação JAVA
Tiago Alves de Oliveira
Adaptado de M. Nery
Agenda

Tratamento de Exceções




Try
Catch
Finally
Lista de Exercícios
Introdução

As exceções são uma indicação de um problema que
ocorre durante a execução de um programa.

Em Java é possível tratar as exceções que poderiam
ocorrer para que o programa continue ou termine
elegantemente.

Exemplo a seguir:
Exemplo: Divisão por Zero sem Tratamento
de Exceção

Programa
Exemplo: Divisão por Zero sem Tratamento
de Exceção

Saída
Exemplo: Entrada de String no Lugar de
Números Inteiros

Saída
Exemplo: Tratando ArithmeticExceptions e
InputMismatchExceptions

Com o tratamento de exceções, o programa captura e
trata (isto é, lida com) a exceção.

O exemplo a seguir permite que o usuário tente
novamente se uma entrada inválida for inserida (zero para
denominador ou entrada de não-inteiro).
Modelo para Tratamento de Exceções

A estrutura de como tratar um erro ou exceção é:



try - é usada para indicar um bloco de código que possa lançar
(throw) uma exceção.
catch - serve para manipular as exceções, ou seja, tratar o
erro.
finally - sempre será executado depois do bloco try/catch.
Modelo para Tratamento de Exceções

Bloco try


Contém o código que pode lançar (throw) uma exceção.
Consiste na palavra – chave try seguida por um bloco de
código entre chaves.
Modelo para Tratamento de Exceções

Bloco Catch

Captura e trata uma exceção.


Começa com a palavra-chave catch.
Parâmetro de exceção entre parênteses


o parâmetro de exceção identifica o tipo de exceção.
Bloco do código entre chaves que executa quando uma
exceção do tipo adequado ao parâmetro ocorre.
Atenção!

É um erro de sintaxe colocar código entre um bloco try e
seus blocos catch correspondentes.
Atenção!

Cada bloco catch pode ter apenas um único parâmetro.
Modelo para Tratamento de Exceções

Bloco Finally




Opcional em uma instrução try.
Se presente, é colocado depois do último bloco Catch.
Executa se uma exceção for lançada no bloco try
correspondente ou qualquer um dos seus blocos catch
correspondentes.
Em geral, contém código de liberação de recursos.
Modelo para Tratamento de Exceções
Retomada

Modelo de retomada do tratamento de exceções:

O controle do programa é retomado logo depois do ponto de
lançamento.
Utilizando a cláusula throws

Cláusula throws




Especifica as exceções que um método pode lançar.
Aparece depois da lista de parâmetros do método e antes do
corpo do método.
Contém uma lista separada por vírgulas das exceções.
As exceções podem ser lançadas pelas instruções no corpo do
método ou pelos métodos chamados.
Parte da Hierarquia de Exceções
Parte da Hierarquia de Exceções




Throwable - é o pai de todas as exceções.
Error - não são exceções, e sim erros que jamais poderiam
ter acontecido. ex.: estouro da memória.
Exception - as classes que deveriam aqui, lança exceções e
não erros de programação. Exemplo: tentar abrir um arquivo
que não existe. Então, é lançada uma exceção verificada,
porque a classe de leitura de arquivos deriva de Exception.
RuntimeException - são exceções que indicam erros de
programas (não de lógica, pois senão não passaria pelo
compilador). Esse tipo de exceção é conhecida como não
verificada. Obs.: Implicitamente, todas as classes em java
automaticamente já lançam uma exceção de RuntimeException.
Resolvendo o Exemplo
Resolvendo o Exemplo
Outros Tipos de Exceções Comuns

IndexOutOfBoundsException: Acessar uma posição de um
vetor, por exemplo, inexistente.
Lista de Exercícios
1.
Faça uma programa em que:
1. O usuário precise entrar com o nome completo, peso e
altura.
1.
2.
Calcule o IMC deste usuário e apresente na tela.
1.
2.
Exceção: peso e altura com entradas inválidas.
Exceção: divisão por zero.
Crie um programa que preencha uma matriz de 10x10
com valores digitados pelos usuários.
1.
O usuário deverá digitar a posição da matriz
1.
2.
2.
Exceção 1: posição da matriz inválida.
Exceção II: valor de entrada do usuário inválido.
Calcule a média dos valores da matriz.
Download