SlideShare uma empresa Scribd logo
48 Curso de Java
Exceptions:
Múltiplos
catch
Hands On!
public class MultiCatch {
public static void main(String[] args) {
int[] numero = {4, 8, 16, 32, 64, 128};
int[] denom = {2, 0, 4, 8, 0};
for (int i=0; i<numero.length; i++){
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
}
}
4/2 = 2Exception in thread "main"
java.lang.ArithmeticException: / by zero
at MultiCatch.main(MultiCatch.java:9)
public class MultiCatch {
public static void main(String[] args) {
int[] numero = {4, 8, 16, 32, 64, 128};
int[] denom = {2, 0, 4, 8, 0};
for (int i=0; i<numero.length; i++){
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (ArithmeticException exc){
System.out.println("Erro ao dividir por zero");
}
}
}
}
4/2 = 2
Erro ao dividir por zero
16/4 = 4
32/8 = 4
Erro ao dividir por zero
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at MultiCatch.main(MultiCatch.java:10)
Tratar várias exceptions no Java
try {
//bloco que é monitorado para erros
}
catch (TipoDaException1 exception) {
//tratamento do erro 1
}
catch (TipoDaException2 exception) {
//tratamento do erro 2
}
public class MultiCatch {
public static void main(String[] args) {
int[] numero = {4, 8, 16, 32, 64, 128};
int[] denom = {2, 0, 4, 8, 0};
for (int i=0; i<numero.length; i++){
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (ArithmeticException exc){
System.out.println("Erro ao dividir por zero");
}
catch (ArrayIndexOutOfBoundsException exc){
System.out.println("Posição do Array não encontrada");
}
}
}
}
4/2 = 2
Erro ao dividir por zero
16/4 = 4
32/8 = 4
Erro ao dividir por zero
Posição do Array não encontrada
public class MultiCatch {
public static void main(String[] args) {
int[] numero = {4, 8, 16, 32, 64, 128};
int[] denom = {2, 0, 4, 8, 0};
for (int i=0; i<numero.length; i++){
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (ArithmeticException exc){
System.out.println("Erro ao dividir por zero");
}
catch (Throwable exc){
System.out.println("Aconteceu um erro");
}
}
}
}
Capturando Exception Genérica
• Multi-catch de exceptions similares (mesma família)
> Java 7
public class MultiCatch {
public static void main(String[] args) {
int[] numero = {4, 8, 16, 32, 64, 128};
int[] denom = {2, 0, 4, 8, 0};
for (int i=0; i<numero.length; i++){
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (ArithmeticException | ArrayIndexOutOfBoundsException exc){
System.out.println("Aconteceu um erro");
}
}
}
}
• Multi-catch de exceptions similares (mesma família)
> Java 7
public class MultiCatch {
public static void main(String[] args) {
int[] numero = {4, 8, 16, 32, 64, 128};
int[] denom = {2, 0, 4, 8, 0};
for (int i=0; i<numero.length; i++){
try{
System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i]));
}
catch (ArithmeticException | ArrayIndexOutOfBoundsException exc){
System.out.println("Aconteceu um erro");
}
}
}
}
https://github.com/loiane/curso-java-basico
Código Fonte:
Não conhece Git/Github?
http://www.loiane.com/2013/11/
screencast-git-e-github-para-iniciantes
http://loiane.training
Fórum para dúvidas + certificado do curso.
Cadastro em:
http://loiane.com
facebook.com/loianegroner
@loiane
https://github.com/loiane
youtube.com/user/Loianeg
Obrigada!
http://loiane.com

Mais conteúdo relacionado

PDF
[Curso Java Basico] Aula 64: Classes aninhadas: internas, locais e anonimas
PDF
[Curso Java Basico - Exceptions] Aula 47: try, catch
PDF
[Curso Java Basico - Exceptions] Aula 49: finally
PDF
[Curso Java Basico - Exceptions] Aula 50: stacktrace e throws
PDF
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
PDF
[Curso Java Basico] Aula 60: Escopo de Variaveis
PDF
[Curso Java Basico] Aula 56: Enum: metodos abstratos
PDF
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder
[Curso Java Basico] Aula 64: Classes aninhadas: internas, locais e anonimas
[Curso Java Basico - Exceptions] Aula 47: try, catch
[Curso Java Basico - Exceptions] Aula 49: finally
[Curso Java Basico - Exceptions] Aula 50: stacktrace e throws
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
[Curso Java Basico] Aula 60: Escopo de Variaveis
[Curso Java Basico] Aula 56: Enum: metodos abstratos
[Curso Java Basico] Aulas 75-84: Strings e StringBuilder

Mais procurados (20)

PDF
Threads 08: Executores e Futures
PDF
Threads 06: Coleções concorrentes
PDF
Curso de Java: Threads
PDF
Threads 04 Variáveis atômicas
PDF
Threads 10: CompletableFuture
PPTX
Javascript
PDF
Aula actionscript basico
PDF
Threads 09: Paralelismo
PDF
Threads 07: Sincronizadores
PDF
Tipos Primitivos - Preparatório Certificação - OCAJP7 - Aula 2 - E
PDF
Java aprendendo linguagem.ppt
PDF
[Curso Java Basico] Aula 63: printf
PPTX
Programação Concorrente - Aula 05
PPTX
Curso java 01 - molhando os pés com java
PDF
Atualização Java 8 (2014)
PPTX
Programação Concorrente - Aula 04
PDF
Curso de Java: Introdução a lambda e Streams
PDF
Curso java 06 - mais construtores, interfaces e polimorfismo
PDF
Programação Desktop: Revisão Core Java
DOCX
Java para iniciantes
Threads 08: Executores e Futures
Threads 06: Coleções concorrentes
Curso de Java: Threads
Threads 04 Variáveis atômicas
Threads 10: CompletableFuture
Javascript
Aula actionscript basico
Threads 09: Paralelismo
Threads 07: Sincronizadores
Tipos Primitivos - Preparatório Certificação - OCAJP7 - Aula 2 - E
Java aprendendo linguagem.ppt
[Curso Java Basico] Aula 63: printf
Programação Concorrente - Aula 05
Curso java 01 - molhando os pés com java
Atualização Java 8 (2014)
Programação Concorrente - Aula 04
Curso de Java: Introdução a lambda e Streams
Curso java 06 - mais construtores, interfaces e polimorfismo
Programação Desktop: Revisão Core Java
Java para iniciantes
Anúncio

Destaque (20)

PDF
[Curso Java Basico - Orientacao a Objetos] Aula 45: Interfaces e Polimorfismo
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
PDF
[Curso Java Basico - Exceptions] Aula 51: tipos de erros no Java
PDF
[Curso Java Basico] Aula 23: Como debugar no Netbeans
PDF
[Curso Java Basico] Aula 22: Como debugar no Eclipse
PDF
[Curso Java Basico] Aula 17: Loop for
PDF
[Curso Java Basico] Aula 14: Condicionais If-Else
PDF
[Curso Java Basico] Aula 18: Comandos Break e Continue
PDF
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
PDF
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
PDF
[Curso Java Basico] Aula 21: For Each (for melhorado)
PDF
Curso Java Basico] Aula 19: Vetores (Arrays)
PDF
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 40: Heranca e Polimorfismo: s...
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 29: Construtores e Codigo de ...
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 37: Heranca
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 36: Relacionamento tem um
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 27: Classes e metodos com par...
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 32: Encapsulamento: métodos g...
PDF
[Curso Java Basico - Orientacao a Objetos] Aula 28: Pacotes (packages) e import
[Curso Java Basico - Orientacao a Objetos] Aula 45: Interfaces e Polimorfismo
[Curso Java Basico - Orientacao a Objetos] Aula 46: Interface e heranca
[Curso Java Basico - Exceptions] Aula 51: tipos de erros no Java
[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 22: Como debugar no Eclipse
[Curso Java Basico] Aula 17: Loop for
[Curso Java Basico] Aula 14: Condicionais If-Else
[Curso Java Basico] Aula 18: Comandos Break e Continue
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 20: Arrays multidimensionais - Matrizes
[Curso Java Basico] Aula 21: For Each (for melhorado)
Curso Java Basico] Aula 19: Vetores (Arrays)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Basico - Orientacao a Objetos] Aula 40: Heranca e Polimorfismo: s...
[Curso Java Basico - Orientacao a Objetos] Aula 29: Construtores e Codigo de ...
[Curso Java Basico - Orientacao a Objetos] Aula 37: Heranca
[Curso Java Basico - Orientacao a Objetos] Aula 36: Relacionamento tem um
[Curso Java Basico - Orientacao a Objetos] Aula 27: Classes e metodos com par...
[Curso Java Basico - Orientacao a Objetos] Aula 32: Encapsulamento: métodos g...
[Curso Java Basico - Orientacao a Objetos] Aula 28: Pacotes (packages) e import
Anúncio

Semelhante a [Curso Java Basico - Exceptions] Aula 48: multiplos catch (20)

PDF
Sobrecarga e invocação de métodos - Preparatório Certificação - OCAJP7 - Aula...
PDF
Heap Máximo
PPTX
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
PPTX
Java hidden features
PDF
Classe integer-float-byte-short-long-double
PDF
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
PPT
Excecoes
PDF
ODP
Java 13 Excecoes
PDF
Selection Sort em Java
PDF
Refatoração de código com Capitão Nascimento versão completa
PDF
programação de computadores - java e programação de computadores
PPTX
Java hidden features
PDF
POO - 09 - Entradas e Saídas em Java
PPT
Aula4
PPT
AspectJ — Programação orientada a aspectos em Java
PDF
[Curso Java Basico] Aula 71: Threads: metodos e blocos sincronizados (synchro...
PDF
POO - Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)
PPTX
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sobrecarga e invocação de métodos - Preparatório Certificação - OCAJP7 - Aula...
Heap Máximo
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Java hidden features
Classe integer-float-byte-short-long-double
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Excecoes
Java 13 Excecoes
Selection Sort em Java
Refatoração de código com Capitão Nascimento versão completa
programação de computadores - java e programação de computadores
Java hidden features
POO - 09 - Entradas e Saídas em Java
Aula4
AspectJ — Programação orientada a aspectos em Java
[Curso Java Basico] Aula 71: Threads: metodos e blocos sincronizados (synchro...
POO - Unidade 1 (complementar) - Introdução a Java e UML (versão draft 01)
Sistemas Distribuídos - Aula 04 - Revisão de Java

Último (20)

PPTX
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
PPTX
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
PDF
Formação politica brasil_2017.pptx.pdf
PPTX
Pedagogia em Ambientes Não Escolares.pptx
PDF
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
PDF
embriologia_animal_aula_share_2026_semestre
PDF
BINGOS_DAS_PALAVRAS_bingo das palavras.pdf
PPTX
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
PPT
sistema reprodutor para turmas do oitavo ano
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
PDF
Cantores.pdf-Deslandes, Tinoco e Zambujo
PPTX
Revolução Industrial - Aula Expositiva - 3U4.pptx
PPTX
Noções de Saúde e Segurança do Trabalho.pptx
PPTX
GUERRAFRIA.pptdddddddddddddddddddddddddx
PDF
A provisão de jojuador (ramadã) islamismo
PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
PPTX
435434725-A-Mineracao-No-Brasil-Colonial.pptx
PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PPTX
INDÚSTRIA_ Histórico da industrialização.pptx
PDF
Metabolismo_energético_3ano_pre_vest_2026.pdf
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
Slide_Macronutrientes e Antinutrientes da Dieta Humana.pptx
Formação politica brasil_2017.pptx.pdf
Pedagogia em Ambientes Não Escolares.pptx
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
embriologia_animal_aula_share_2026_semestre
BINGOS_DAS_PALAVRAS_bingo das palavras.pdf
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
sistema reprodutor para turmas do oitavo ano
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
Cantores.pdf-Deslandes, Tinoco e Zambujo
Revolução Industrial - Aula Expositiva - 3U4.pptx
Noções de Saúde e Segurança do Trabalho.pptx
GUERRAFRIA.pptdddddddddddddddddddddddddx
A provisão de jojuador (ramadã) islamismo
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
435434725-A-Mineracao-No-Brasil-Colonial.pptx
Organizador Curricular da Educação em Tempo Integral.pdf
INDÚSTRIA_ Histórico da industrialização.pptx
Metabolismo_energético_3ano_pre_vest_2026.pdf

[Curso Java Basico - Exceptions] Aula 48: multiplos catch

  • 1. 48 Curso de Java Exceptions: Múltiplos catch
  • 3. public class MultiCatch { public static void main(String[] args) { int[] numero = {4, 8, 16, 32, 64, 128}; int[] denom = {2, 0, 4, 8, 0}; for (int i=0; i<numero.length; i++){ System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i])); } } }
  • 4. 4/2 = 2Exception in thread "main" java.lang.ArithmeticException: / by zero at MultiCatch.main(MultiCatch.java:9)
  • 5. public class MultiCatch { public static void main(String[] args) { int[] numero = {4, 8, 16, 32, 64, 128}; int[] denom = {2, 0, 4, 8, 0}; for (int i=0; i<numero.length; i++){ try{ System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i])); } catch (ArithmeticException exc){ System.out.println("Erro ao dividir por zero"); } } } }
  • 6. 4/2 = 2 Erro ao dividir por zero 16/4 = 4 32/8 = 4 Erro ao dividir por zero Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at MultiCatch.main(MultiCatch.java:10)
  • 7. Tratar várias exceptions no Java try { //bloco que é monitorado para erros } catch (TipoDaException1 exception) { //tratamento do erro 1 } catch (TipoDaException2 exception) { //tratamento do erro 2 }
  • 8. public class MultiCatch { public static void main(String[] args) { int[] numero = {4, 8, 16, 32, 64, 128}; int[] denom = {2, 0, 4, 8, 0}; for (int i=0; i<numero.length; i++){ try{ System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i])); } catch (ArithmeticException exc){ System.out.println("Erro ao dividir por zero"); } catch (ArrayIndexOutOfBoundsException exc){ System.out.println("Posição do Array não encontrada"); } } } }
  • 9. 4/2 = 2 Erro ao dividir por zero 16/4 = 4 32/8 = 4 Erro ao dividir por zero Posição do Array não encontrada
  • 10. public class MultiCatch { public static void main(String[] args) { int[] numero = {4, 8, 16, 32, 64, 128}; int[] denom = {2, 0, 4, 8, 0}; for (int i=0; i<numero.length; i++){ try{ System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i])); } catch (ArithmeticException exc){ System.out.println("Erro ao dividir por zero"); } catch (Throwable exc){ System.out.println("Aconteceu um erro"); } } } } Capturando Exception Genérica
  • 11. • Multi-catch de exceptions similares (mesma família) > Java 7 public class MultiCatch { public static void main(String[] args) { int[] numero = {4, 8, 16, 32, 64, 128}; int[] denom = {2, 0, 4, 8, 0}; for (int i=0; i<numero.length; i++){ try{ System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i])); } catch (ArithmeticException | ArrayIndexOutOfBoundsException exc){ System.out.println("Aconteceu um erro"); } } } }
  • 12. • Multi-catch de exceptions similares (mesma família) > Java 7 public class MultiCatch { public static void main(String[] args) { int[] numero = {4, 8, 16, 32, 64, 128}; int[] denom = {2, 0, 4, 8, 0}; for (int i=0; i<numero.length; i++){ try{ System.out.println(numero[i] + "/" + denom[i] + " = " + (numero[i]/denom[i])); } catch (ArithmeticException | ArrayIndexOutOfBoundsException exc){ System.out.println("Aconteceu um erro"); } } } }
  • 15. http://loiane.training Fórum para dúvidas + certificado do curso. Cadastro em: