2. Exceções (Exceptions)
» A exceção indica que ocorreu um problema durante
execução do programa.
» Com no nome exceção, significa que não ocorre
frequentemente.
» Podemos tratar estes erros
» Exemplos
» Array fora dos limites
» Ponteiro nulo
» Estouro aritmético
» Divisão por zero
» Esgotamento de memória
02/08/18Prof. Ramiro Victor 2
3. Exceções (Exceptions)
» Sempre que um método de alguma classe é passível de
causar algum erro, então, podemos usar o método de
tentativa - o try.
» Quando uma exceção é lançada, ela sempre deve ser
capturada. O trabalho de captura da exceção é
executado pelo bloco catch.
» try {
» // código a ser executado
» } catch (ClasseDeExceção instânciaDaExceção) {
» // tratamento da exceção
» }
02/08/18Prof. Ramiro Victor 3
5. Finally
» Finally é o trecho de código final. A função básica de
finally é sempre executar seu bloco de dados mesmo
que uma exceção seja lançada.
» Finally virá após os blocos de catch.
» try {
» // código a ser executado
» } catch (ClasseDeExceção instânciaDaExceção) {
» // tratamento da exceção
» } finally {
» // código a ser executado mesmo que uma exceção
seja lançada
» }
02/08/18Prof. Ramiro Victor 5
6. Multi Catch
02/08/18Prof. Ramiro Victor 6
Introduzido a partir do java 7, permite tratar
vários tipos de exceções no mesmo bloco.
As exceções são, na verdade, instâncias de classes.
Existem métodos comuns entre todas as classes de
Exceções:
» toString(): Converte os dados da exceção para String
para visualização.
» printStackTrace(): Imprime na saída de erro padrão
(geralmente console) todos os frames de onde foram
detectados erros.
7. Multi Catch
02/08/18Prof. Ramiro Victor 7
» getCause(): Retorna a causa da Exceção, ou null se a
causa for desconhecida ou não existir.
» getMessage(): Retorna uma string com o erro. É uma
forma simples e elegante de mostrar a exceção
causada, geralmente, utilizada como forma de
apresentação ao usuário.
8. Throws
02/08/18Prof. Ramiro Victor 8
Ações que propagam exceções.
Em alguns momentos existem exceções que não
podem ser tratadas no mesmo método que gerou
a exceção.
Nesses casos, é necessário propagar a exceção
para um nível acima na pilha.
A cláusula throws declara as exceções que
podem ser lançadas em determinado método
10. Hierarquia de exceções
02/08/18Prof. Ramiro Victor 10
Exception (java.lang.Exception) – Mostra as
situações em que a aplicação pode querer
capturar e realizar um tratamento para conseguir
realizar o processamento.
Error (java.lang.Error) – Indica as situações em que
a aplicação não deve tentar tratar, como
ocorrências que não deveriam acontecer.
13. Assertions
02/08/18Prof. Ramiro Victor 13
Assertions servem para testar se o seu código esta
de acordo com as regras que deve seguir
As Assertions são utilizadas SOMENTE e APENAS
para o ambiente de desenvolvimento, quando o
software for para produção, elas devem ser
retiradas sem que o software seja afetado.