SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Tomada de decisao - logica
Tomada de decisao - logicaTomada de decisao - logica
Tomada de decisao - logicaSedu
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch caseAlessandra Sra JM
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch caseAlessandra Sra JM
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceçõesFAFICA
 
Java: Excecoes e Tratamento de Erros
Java: Excecoes e Tratamento de ErrosJava: Excecoes e Tratamento de Erros
Java: Excecoes e Tratamento de ErrosArthur Emanuel
 
Desenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesDesenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesVitor Silva
 
Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoEder Samaniego
 
Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01Eder Samaniego
 
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çãoEder Samaniego
 
Semana 04 Estruturas Condicionais
Semana 04   Estruturas CondicionaisSemana 04   Estruturas Condicionais
Semana 04 Estruturas CondicionaisEder Samaniego
 
LabMM3 - Aula teórica 02
LabMM3 - Aula teórica 02LabMM3 - Aula teórica 02
LabMM3 - Aula teórica 02Carlos Santos
 
(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - Erros(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - ErrosCarlos Santos
 

Tendances (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
 

En vedette

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 answersCharlizeTheron456
 
Njhimaippsfy12
Njhimaippsfy12Njhimaippsfy12
Njhimaippsfy12cnminniti
 
Relationship between Sharing Economy and Mobile
Relationship between Sharing Economy and MobileRelationship between Sharing Economy and Mobile
Relationship between Sharing Economy and MobileLucía Hernández
 
Monografia eng soft1_halan
Monografia eng soft1_halanMonografia eng soft1_halan
Monografia eng soft1_halanHalan Ridolphi
 
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 rodriguezslideshow8909
 

En vedette (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
 

Similaire à 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 7Inael Rodrigues
 
Qualificação de Mestrado - PPGSC UFRN
Qualificação de Mestrado - PPGSC UFRNQualificação de Mestrado - PPGSC UFRN
Qualificação de Mestrado - PPGSC UFRNFrederico Pranto
 
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
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In TubaRafael Paz
 
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
 
Apostila: Curso de java I
Apostila: Curso de java IApostila: Curso de java I
Apostila: Curso de java IVerônica Veiga
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetosMateus Parente
 
04 - Gerenciamento de Threads - II
04 -  Gerenciamento de Threads - II04 -  Gerenciamento de Threads - II
04 - Gerenciamento de Threads - IIFabio Moura Pereira
 
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 IIFabio Moura Pereira
 
Excecoes
ExcecoesExcecoes
ExcecoesEMSNEWS
 
Tratamento de exceções com PHP
Tratamento de exceções com PHPTratamento de exceções com PHP
Tratamento de exceções com PHPLeonardo Soares
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceçõesAlvaro Oliveira
 

Similaire à 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
 

Dernier

Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoMary Alvarenga
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 

Dernier (20)

Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu Abrigo
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º 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