SlideShare a Scribd company logo
1 of 13
Download to read offline
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.

More Related Content

What's hot

Apresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosApresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosWende Mendes
 
Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas CondicionaisEder Samaniego
 
Como manipular exceções em java
Como manipular exceções em javaComo manipular exceções em java
Como manipular exceções em javadaliarafaela
 
Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoEder Samaniego
 
Tomada de decisao - logica
Tomada de decisao - logicaTomada de decisao - logica
Tomada de decisao - logicaSedu
 
Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01Eder Samaniego
 
Java: Excecoes e Tratamento de Erros
Java: Excecoes e Tratamento de ErrosJava: Excecoes e Tratamento de Erros
Java: Excecoes e Tratamento de ErrosArthur Emanuel
 
Javascript - boas práticas
Javascript - boas práticasJavascript - boas práticas
Javascript - boas práticasFrancke Peixoto
 
P aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasP aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasHélio Martins
 
05 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.005 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.0César Augusto Pessôa
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Eder Samaniego
 
Aula 01 - Revisão Algoritmo 1
Aula 01  - Revisão Algoritmo 1Aula 01  - Revisão Algoritmo 1
Aula 01 - Revisão Algoritmo 1Eder Samaniego
 
Arquitetura de Jogos Multi-jogadores: Estudo de caso "Age of Empires"
Arquitetura de Jogos Multi-jogadores: Estudo de caso "Age of Empires"Arquitetura de Jogos Multi-jogadores: Estudo de caso "Age of Empires"
Arquitetura de Jogos Multi-jogadores: Estudo de caso "Age of Empires"Fernando Vieira da Silva
 
Esag segurança flyer_alunos_13_14
Esag segurança flyer_alunos_13_14Esag segurança flyer_alunos_13_14
Esag segurança flyer_alunos_13_14joaosantosterrivel
 
Ciclo de vida de um componente react
Ciclo de vida de um componente reactCiclo de vida de um componente react
Ciclo de vida de um componente reactLaryssa Magalhães
 

What's hot (20)

Apresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosApresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplos
 
Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas Condicionais
 
Como manipular exceções em java
Como manipular exceções em javaComo manipular exceções em java
Como manipular exceções em java
 
6 excecoes
6 excecoes6 excecoes
6 excecoes
 
Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetição
 
Tomada de decisao - logica
Tomada de decisao - logicaTomada de decisao - logica
Tomada de decisao - logica
 
Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01
 
Semana dois
Semana doisSemana dois
Semana dois
 
Java: Excecoes e Tratamento de Erros
Java: Excecoes e Tratamento de ErrosJava: Excecoes e Tratamento de Erros
Java: Excecoes e Tratamento de Erros
 
Javascript - boas práticas
Javascript - boas práticasJavascript - boas práticas
Javascript - boas práticas
 
P aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasP aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacas
 
05 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.005 - Operadores relacionais e estruturas de repetição - v1.0
05 - Operadores relacionais e estruturas de repetição - v1.0
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)Estruturas de repetição (parte 01)
Estruturas de repetição (parte 01)
 
Aula 01 - Revisão Algoritmo 1
Aula 01  - Revisão Algoritmo 1Aula 01  - Revisão Algoritmo 1
Aula 01 - Revisão Algoritmo 1
 
Arquitetura de Jogos Multi-jogadores: Estudo de caso "Age of Empires"
Arquitetura de Jogos Multi-jogadores: Estudo de caso "Age of Empires"Arquitetura de Jogos Multi-jogadores: Estudo de caso "Age of Empires"
Arquitetura de Jogos Multi-jogadores: Estudo de caso "Age of Empires"
 
Estruturas de seleção
Estruturas de seleçãoEstruturas de seleção
Estruturas de seleção
 
Esag segurança flyer_alunos_13_14
Esag segurança flyer_alunos_13_14Esag segurança flyer_alunos_13_14
Esag segurança flyer_alunos_13_14
 
Python 3.+
Python 3.+Python 3.+
Python 3.+
 
Ciclo de vida de um componente react
Ciclo de vida de um componente reactCiclo de vida de um componente react
Ciclo de vida de um componente react
 

Similar to Exceções em Programação I

Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)
Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)
Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)Helder da Rocha
 
Certificação Java: Exceções
Certificação Java: ExceçõesCertificação Java: Exceções
Certificação Java: ExceçõesEduardo Mendes
 
Excecoes
ExcecoesExcecoes
ExcecoesEMSNEWS
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3guestd6da1cd
 
Tratamento de exceções em Java
Tratamento de exceções em JavaTratamento de exceções em Java
Tratamento de exceções em JavaWilson Júnior
 
Paradigmas de Linguagens de Programação - Tratamento de Exceções
Paradigmas de Linguagens de Programação - Tratamento de ExceçõesParadigmas de Linguagens de Programação - Tratamento de Exceções
Paradigmas de Linguagens de Programação - Tratamento de ExceçõesAdriano Teixeira de Souza
 

Similar to Exceções em Programação I (20)

Erros, exceções e asserções
Erros, exceções e asserçõesErros, exceções e asserções
Erros, exceções e asserções
 
Erros, exceções e asserções
Erros, exceções e asserçõesErros, exceções e asserções
Erros, exceções e asserções
 
Java 13 Excecoes
Java 13 ExcecoesJava 13 Excecoes
Java 13 Excecoes
 
Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)
Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)
Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)
 
Certificação Java: Exceções
Certificação Java: ExceçõesCertificação Java: Exceções
Certificação Java: Exceções
 
Excepções JAVA
Excepções JAVAExcepções JAVA
Excepções JAVA
 
Excecoes
ExcecoesExcecoes
Excecoes
 
Excecoes em Java
Excecoes em JavaExcecoes em Java
Excecoes em Java
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
 
Tratamento de exceções em Java
Tratamento de exceções em JavaTratamento de exceções em Java
Tratamento de exceções em Java
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
Exceptions Em Java UFF
Exceptions Em Java UFFExceptions Em Java UFF
Exceptions Em Java UFF
 
Tratamento de erros
Tratamento de errosTratamento de erros
Tratamento de erros
 
JAVA - Tratamento de Erros
JAVA - Tratamento de ErrosJAVA - Tratamento de Erros
JAVA - Tratamento de Erros
 
Aula Tratamento de Exceções
Aula Tratamento de ExceçõesAula Tratamento de Exceções
Aula Tratamento de Exceções
 
Tratamento de exceções em Java
Tratamento de exceções em JavaTratamento de exceções em Java
Tratamento de exceções em Java
 
Programação Orientada por Objectos - Aula 5
Programação Orientada por Objectos - Aula 5Programação Orientada por Objectos - Aula 5
Programação Orientada por Objectos - Aula 5
 
Programação Defensiva
Programação DefensivaProgramação Defensiva
Programação Defensiva
 
Java3
Java3Java3
Java3
 
Paradigmas de Linguagens de Programação - Tratamento de Exceções
Paradigmas de Linguagens de Programação - Tratamento de ExceçõesParadigmas de Linguagens de Programação - Tratamento de Exceções
Paradigmas de Linguagens de Programação - Tratamento de Exceções
 

More from Secretaria de Educação de Goiás (7)

Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Uso das tecnologias moveis na educação superior
Uso das tecnologias moveis na educação superiorUso das tecnologias moveis na educação superior
Uso das tecnologias moveis na educação superior
 

Exceções em Programação I

  • 1. Programação I Instituto Federal de Goiás Campus Luziânia Técnico Integrado em Informática ramirovictor3@gmail.com
  • 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.