SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Tratamento de Exceção em Java 
Marques Henrique Amaro 
Natasha Silveira Pinheiro 
Disciplina de Projeto Detalhado de Software Prof. Camilo Camilo Almendra
Introdução 
•Exceção 
•Qualquer evento não usual que é detectável por hardware ou por software que possam requerer um processamento especial. 
•Tratamento de Exceção 
•Processamento especial que pode ser requerido quando uma exceção é detectada.
Motivação 
•Como avisar aquele que chamou o método de que ele não conseguiu fazer aquilo que deveria? 
•Um método pode detectar uma falha, mas não estar apto a resolver sua causa, devendo repassar essa função a quem saiba.
Exceções em Java 
•A linguagem Java dá suporte ao tratamento de exceções 
•Exceções são representadas por classes 
•São lançadas pelo comando throw 
•São tratadas pela estrutura try-catch-finally 
•Um método que lance uma exceção deve declarar isso explicitamente. 
•Para umas classe representar uma exceção, ela deve pertencer a uma certa hierarquia. A classe raiz de todas as exceções é java.lang.Throwable.
Hierarquia de Exceções
Estrutura try-catch-finally 
•Try 
•É utilizado para indicar um bloco de código que possa ocorrer uma exceção e que a execução pode ser cancelada a qualquer momento e continuar no catch. 
•Catch 
•É utilizado para manipular as exceções, ou seja, tratar o erro. Deve aparecer após o try. 
•Finally 
•Será executado depois do bloco try/catch e finaliza a sequência de comandos do sistema. É opcional. É normalmente usado para liberação de recursos.
Exemplo
Sem Tratamento de Exceção 
•A conta precisa avisar que o saldo não é suficiente 
•Além disso, precisa tratar o caso em que o valor passado é inválido
Com Tratamento de Exceção 
•O código ficou mais limpo e mais propício a mudanças
Continuando... 
•O exemplo usado anteriormente é bom, caso o tratador seja quem o que o chama o método, mas imagine numa aplicação real, onde o fedback do usuário acontece na interface. As exceções checkeds deixariam o código muito acoplado. 
•Por exemplo: uma classe A chama uma classe B, que chama uma classe C, que chama saque de conta. 
•O que fazer? 
•Isso tem nome. São exceções de alto nível, logo devem ser tratadas na camada mais externa da aplicação. Usariamos uma Unchecked Exception.
Conclusão 
•Tratar exceções não é apenas tratá-las, mas sim tratar no lugar correto e da forma correta. 
•O tratamento de exceções, quando feito da forma mais adequada, deixa o código limpo e sem obscurecer a lógica.
Referências 
•Trabalhando com Exceções em Java. Disponível em: <http://www.devmedia.com.br/trabalhando-com-excecoes-em- java/27601>. Acesso em: 7 nov. 2014 
•MARTIN, R. C. Código Limpo: habilidades práticas do Agile Software. Rio de Janeiro: Alta Books, 2011. 
•Caelum, Apostila Java e Orientação a Objetos. Disponível em: <http://www.caelum.com.br/apostila-java-orientacao- objetos/excecoes-e-controle-de-erros/#11-1-motivacao>. Acesso em: 7 nov. 2014 
•AULA 15 – Exceções – IF669, Cin-UFPE. Disponível em: <http://www.youtube.com/watch?v=0123L6skOsM>. Acesso em: 7 nov. 2014

Weitere ähnliche Inhalte

Was ist angesagt?

Desenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesDesenvolvimento em .Net - Excepções
Desenvolvimento em .Net - Excepções
Vitor Silva
 
Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas Condicionais
Eder Samaniego
 
(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - Erros(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - Erros
Carlos Santos
 

Was ist angesagt? (20)

Exceptions Em Java UFF
Exceptions Em Java UFFExceptions Em Java UFF
Exceptions Em Java UFF
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Semana dois
Semana doisSemana dois
Semana dois
 
Erros, exceções e asserções
Erros, exceções e asserçõesErros, exceções e asserções
Erros, exceções e asserções
 
Tomada de decisao - logica
Tomada de decisao - logicaTomada de decisao - logica
Tomada de decisao - logica
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceções
 
Java: Excecoes e Tratamento de Erros
Java: Excecoes e Tratamento de ErrosJava: Excecoes e Tratamento de Erros
Java: Excecoes e Tratamento de Erros
 
Desenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesDesenvolvimento em .Net - Excepções
Desenvolvimento em .Net - Excepções
 
Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetição
 
Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01
 
Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetição
 
Curso java 07 - exceções
Curso java   07 - exceçõesCurso java   07 - exceções
Curso java 07 - exceções
 
Java Básico :: Exceções
Java Básico :: ExceçõesJava Básico :: Exceções
Java Básico :: Exceções
 
If
IfIf
If
 
Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas Condicionais
 
LabMM3 - Aula teórica 02
LabMM3 - Aula teórica 02LabMM3 - Aula teórica 02
LabMM3 - Aula teórica 02
 
(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - Erros(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - Erros
 
Exceptions
ExceptionsExceptions
Exceptions
 

Andere mochten auch (7)

Mauna loa macadamia nut corp. intervew questions and answers
Mauna loa macadamia nut corp. intervew questions and answersMauna loa macadamia nut corp. intervew questions and answers
Mauna loa macadamia nut corp. intervew questions and answers
 
Njhimaippsfy12
Njhimaippsfy12Njhimaippsfy12
Njhimaippsfy12
 
Energy[1]
Energy[1]Energy[1]
Energy[1]
 
Relationship between Sharing Economy and Mobile
Relationship between Sharing Economy and MobileRelationship between Sharing Economy and Mobile
Relationship between Sharing Economy and Mobile
 
Monografia eng soft1_halan
Monografia eng soft1_halanMonografia eng soft1_halan
Monografia eng soft1_halan
 
M1 Fan Guide
M1 Fan GuideM1 Fan Guide
M1 Fan Guide
 
04 29-14-edla 2000-final project power point-lana rodriguez
04 29-14-edla 2000-final project power point-lana rodriguez04 29-14-edla 2000-final project power point-lana rodriguez
04 29-14-edla 2000-final project power point-lana rodriguez
 

Ähnlich wie Tratamento de exceção em java

Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7
Inael Rodrigues
 
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
Adriano Teixeira de Souza
 
Apostila: Curso de java I
Apostila: Curso de java IApostila: Curso de java I
Apostila: Curso de java I
Verônica Veiga
 
Excecoes
ExcecoesExcecoes
Excecoes
EMSNEWS
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceções
Alvaro Oliveira
 

Ähnlich wie Tratamento de exceção em java (20)

Aula Tratamento de Exceções
Aula Tratamento de ExceçõesAula Tratamento de Exceções
Aula Tratamento de Exceções
 
Tratamento de erros
Tratamento de errosTratamento de erros
Tratamento de erros
 
Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7
 
Qualificação de Mestrado - PPGSC UFRN
Qualificação de Mestrado - PPGSC UFRNQualificação de Mestrado - PPGSC UFRN
Qualificação de Mestrado - PPGSC UFRN
 
Excepções JAVA
Excepções JAVAExcepções JAVA
Excepções JAVA
 
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)
 
Refatoração
RefatoraçãoRefatoração
Refatoração
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In Tuba
 
Clean code em C#
Clean code em C#Clean code em C#
Clean code em C#
 
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
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Clean code
Clean codeClean code
Clean code
 
Apostila: Curso de java I
Apostila: Curso de java IApostila: Curso de java I
Apostila: Curso de java I
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetos
 
04 - Gerenciamento de Threads - II
04 -  Gerenciamento de Threads - II04 -  Gerenciamento de Threads - II
04 - Gerenciamento de Threads - II
 
Programação Concorrente - Gerenciamento de Threads - Parte II
Programação Concorrente - Gerenciamento de Threads - Parte IIProgramação Concorrente - Gerenciamento de Threads - Parte II
Programação Concorrente - Gerenciamento de Threads - Parte II
 
Excecoes
ExcecoesExcecoes
Excecoes
 
Tratamento de exceções com PHP
Tratamento de exceções com PHPTratamento de exceções com PHP
Tratamento de exceções com PHP
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceções
 
Erros, exceções e asserções
Erros, exceções e asserçõesErros, exceções e asserções
Erros, exceções e asserções
 

Kürzlich hochgeladen

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 

Kürzlich hochgeladen (20)

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
GÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptxGÊNERO CARTAZ - o que é, para que serve.pptx
GÊNERO CARTAZ - o que é, para que serve.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 

Tratamento de exceção em java

  • 1. Tratamento de Exceção em Java Marques Henrique Amaro Natasha Silveira Pinheiro Disciplina de Projeto Detalhado de Software Prof. Camilo Camilo Almendra
  • 2. Introdução •Exceção •Qualquer evento não usual que é detectável por hardware ou por software que possam requerer um processamento especial. •Tratamento de Exceção •Processamento especial que pode ser requerido quando uma exceção é detectada.
  • 3. Motivação •Como avisar aquele que chamou o método de que ele não conseguiu fazer aquilo que deveria? •Um método pode detectar uma falha, mas não estar apto a resolver sua causa, devendo repassar essa função a quem saiba.
  • 4. Exceções em Java •A linguagem Java dá suporte ao tratamento de exceções •Exceções são representadas por classes •São lançadas pelo comando throw •São tratadas pela estrutura try-catch-finally •Um método que lance uma exceção deve declarar isso explicitamente. •Para umas classe representar uma exceção, ela deve pertencer a uma certa hierarquia. A classe raiz de todas as exceções é java.lang.Throwable.
  • 6. Estrutura try-catch-finally •Try •É utilizado para indicar um bloco de código que possa ocorrer uma exceção e que a execução pode ser cancelada a qualquer momento e continuar no catch. •Catch •É utilizado para manipular as exceções, ou seja, tratar o erro. Deve aparecer após o try. •Finally •Será executado depois do bloco try/catch e finaliza a sequência de comandos do sistema. É opcional. É normalmente usado para liberação de recursos.
  • 8. Sem Tratamento de Exceção •A conta precisa avisar que o saldo não é suficiente •Além disso, precisa tratar o caso em que o valor passado é inválido
  • 9. Com Tratamento de Exceção •O código ficou mais limpo e mais propício a mudanças
  • 10. Continuando... •O exemplo usado anteriormente é bom, caso o tratador seja quem o que o chama o método, mas imagine numa aplicação real, onde o fedback do usuário acontece na interface. As exceções checkeds deixariam o código muito acoplado. •Por exemplo: uma classe A chama uma classe B, que chama uma classe C, que chama saque de conta. •O que fazer? •Isso tem nome. São exceções de alto nível, logo devem ser tratadas na camada mais externa da aplicação. Usariamos uma Unchecked Exception.
  • 11. Conclusão •Tratar exceções não é apenas tratá-las, mas sim tratar no lugar correto e da forma correta. •O tratamento de exceções, quando feito da forma mais adequada, deixa o código limpo e sem obscurecer a lógica.
  • 12. Referências •Trabalhando com Exceções em Java. Disponível em: <http://www.devmedia.com.br/trabalhando-com-excecoes-em- java/27601>. Acesso em: 7 nov. 2014 •MARTIN, R. C. Código Limpo: habilidades práticas do Agile Software. Rio de Janeiro: Alta Books, 2011. •Caelum, Apostila Java e Orientação a Objetos. Disponível em: <http://www.caelum.com.br/apostila-java-orientacao- objetos/excecoes-e-controle-de-erros/#11-1-motivacao>. Acesso em: 7 nov. 2014 •AULA 15 – Exceções – IF669, Cin-UFPE. Disponível em: <http://www.youtube.com/watch?v=0123L6skOsM>. Acesso em: 7 nov. 2014