Programação I
Instituto Federal de Goiás
Campus Luziânia
Técnico Integrado em Informática
ramirovictor3@gmail.com
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
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
Tratamento de Exceção
02/08/18Prof. Ramiro Victor 4
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
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.
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.
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
Hierarquia de exceções
02/08/18Prof. Ramiro Victor 9
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.
Hierarquia de exceções
02/08/18Prof. Ramiro Victor 11
Hierarquia de exceções
02/08/18Prof. Ramiro Victor 12
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.

Programação OO - Java

  • 1.
    Programação I Instituto Federalde Goiás Campus Luziânia Técnico Integrado em Informática ramirovictor3@gmail.com
  • 2.
    Exceções (Exceptions) » Aexceçã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) » Sempreque 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
  • 4.
  • 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. RamiroVictor 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. RamiroVictor 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 Victor8  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
  • 9.
  • 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.
  • 11.
  • 12.
  • 13.
    Assertions 02/08/18Prof. Ramiro Victor13  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.