Engenharia Informática
Discentes:
Francisco Armando Macôpa
Pedrito André Viegas
Docente:
Eng. Lourenço Sansão Roberto
3° Ano, Turma A, C/D, 2015
Cadeira: Programação II
Tema: Excepções e Conceitos
sobre Tratamento de Excepções.
Excepções
Excepção vem do latim excedere, com o prefixo EX:”fora”, +
CEDERE: “sair, ir embora, retirar-se, abandonar”. Significava
“ir além da conta”.
Actualmente excepção refere-se a algo ou alguém que se
diferencia ou difere da norma, que se desvia do normal ou
da regra.
Pode também ser utilizado a indivíduos, por exemplo, dizer
que um/a menino ou menina é uma excepção, quer dizer
que eles são diferentes dos demais, ou possuem um modo
de pensar e/ou agir que é diferente das outras pessoas em
seu modo de viver.
Em java uma excepção seria uma indicação de um
problema que ocorre durante a execução de um
programa.
Ou poderiamos dizer que excepção em java nada mais é
do que um desvio do fluxo normal do programa. Indica
que houve um ou mais problemas durante execução de
um bloco do programa.
Se a excepção não for tratada, o programa pode parar.
Excepções em Java
Excepções Vs. Erros
Uma excepção pode ser prevista e resolvida pelo
programador durante a implementação de um
sistema ou programa.
Erro é algo inesperado, que não pode ser tratado e
que, na maioria das vezes aborta o sistema ou
programa.
Excepções em Java
Excepção: Erro:
O usuário digitou um valor
inválido. (Previsível)
O teclado sofreu alguma avaria
física, o usuário não pode mais
digitar valores com o teclado.
Solução: Solução:
A implementação de um
tratamento para a excepção
gerada pela digitação de um valor
inválido.
Não tem solução, pois um
programa de computador não
pode reparar um periférico de
computador.
Algumas das mais comuns excepções na
programação em Java
Excepção Quando Acontece
ArrayIndexOutOfBoundsEx
ception
Tentativa de acesso à posição
inexistente num array.
IllegalArgumentException Argumento formatado de forma
diferente do esperado pelo método.
ArithmeticException Problemas com operações numéricas,
tipicamente divisão por zero: int i = 10 /
0;
NullPointerException
Gerado pela tentativa de acessar
um objecto através de uma
referência nula, ou seja, antes do
objecto ser instanciado.
NegativeArraySizeException Gerado pela tentativa de criar
um array de tamanho negativo:
Image[] imagens = new Image[-
100];
NumberFormatException Tentativa de converter uma
String inválida em número.
NoClassDefFoundError Indica que a JVM não
conseguiu localizar uma
classe necessária durante a
execução.
Todas as classes em Java estendem directamente ou
indirectamente - da classe Object. E todas as excepções em Java
derivam da classe Throwable.
Eis as três modalidades de excepções existentes na linguagem
Java: Unchecked Exception, Checked Exception e Error.
Unchecked Exception (RuntimeException)
Representam situações que, geralmente, identificam erros de
programação (ou seja, o programa não é robusto). (Ex.: Acessar
índice inválido em um array - ArrayIndexOutOfBoundsException).
Hierarquia de Excepções em Java
Checked Exception
Representam situações que, geralmente, não são erros de
programação e sim indisponibilidade de recursos ou condição
necessária para a correcta execução do sistema ou de um
programa.
Error
Representam situações incomuns, que não são causadas pelo
programa, indicam situações que não acontecem usualmente
durante a execução dum programa.
Hierarquia de Excepções em Java
CONCEITOS SOBRE TRATAMENTO DE
EXCEPÇÕES
Uma das diferenças mais evidentes entre um bom programa e
um mau programa é o tratamento de excepções, ou seja, a
capacidade que o seu programa tem de responder a situações
inesperadas.
Quando usamos um software, esperamos que ele seja, tolerante
à falhas. Quando um programador identifica uma possível falha
que pode ocorrer durante a execução de seus programas, ele
pode e deve codificar estratégias de tolerância e/ou correcção
desta falha, em um processo conhecido como tratamento de
excepções.
Importância do Tratamento de excepções
O tratamento de exceções permite que os programadores
criem programas mais robustos e tolerantes a falhas.
O tratamento de exceções permite aos programadores
remover código de tratamento de erro da ‘linha principal’ de
execução do programa.
Tratamento de excepções
Quando uma falha ocorre na execução de um programa, pode
gerar uma excepção. Gerar uma excepção é a sinalização ao
processo activo na máquina virtual de que alguma falha ocorreu.
Esse processo então pode "capturar" a excepção, quando
possível, e tornar a execução do código novamente válido dentro
do comportamento previsto para esse programa.
Existem três blocos de comandos básicos que permitem esse
tratamento de excepções: try, catch e finally.
Esses comandos usados em conjunto, garantem o
desenvolvimento de códigos robustos.
 try
É o bloco de comandos que são passíveis de ocorrerem uma
excepção. Quando o programador sabe que um determinado
conjunto de instruções pode gerar algum tipo de excepção,
ele agrega esse bloco de comandos dentro de um bloco try. O
código contido dentro de um bloco try é chamado de código
protegido.
Tratamento de excepções
catch
É o bloco de comandos alternativos ao try, ou seja, se os
comandos do bloco try gerarem uma excepção então os
comandos do bloco catch serão executados no lugar deles. O
bloco catch é opcional, mas normalmente é implementado
junto a um bloco try.
Tratamento de excepções
finally
É um comando utilizado para delimitar um grupo de
instruções que será sempre executada ao final de um bloco
try-catch, independentemente de qual dos blocos anteriores
foi processado pela máquina virtual.
Tratamento de excepções
Eis um exemplo:
1 public void relatorio(int indice)
2 {
3 // Tratamento de exceções
4 try
5 {
6 // Tenta executar esse bloco de comandos
7 System.out.println(alunos[indice]);
8 }
Tratamento de excepções
(Continuação)
9 catch(ArrayIndexOutOfBoundsException erro)
10 {
11 // Se houver alguma excepão no bloco anterior,
12 // o bloco catch será executado
13 System.out.println("Aluno Inexistente");
14 }
15 catch (Exception erro) {
16 // Pode-se usar um catch para cada tipo de erro
17 // Possível no bloco try
Tratamento de excepções
(Continuação)
18 System.out.println("Exceção inesperada");
19 }
20 finally
21 {
22 // Esse comando será executado sempre
23 System.out.println("executou finally");
24 }
25 }
Tratamento de excepções
 Bibliografia
 Deitel, H. M. & Deitel, P. J. Java: como programar, Editora Bookman.
6ª Edição. São Paulo: 2005.
 www.devmedia.com.br/tratando-excecoes-em-java/25514 acessado
no dia 11 de Abril de 2015.
 www.devmedia.com.br/trabalhando-com-excecoes-em-java/27601
acessado no dia 11 de Abril de 2015.
 Gomes, Bruno. Tratamento de Excepções PDF.
 Campos, Leonardo Barretos Tratamento de Excepções PDF.
 Gaúcho, Filipe. Módulo 3 - Java Básico e Intermediário. Instituto de
Software do Ceará.
Tratamento de excepções
FIM.
MUITO OBRIGADO PELA
ATENÇÃO.
ESCLAREÇA SUAS DÚVIDAS.

Excecoes em Java

  • 1.
    Engenharia Informática Discentes: Francisco ArmandoMacôpa Pedrito André Viegas Docente: Eng. Lourenço Sansão Roberto 3° Ano, Turma A, C/D, 2015 Cadeira: Programação II
  • 2.
    Tema: Excepções eConceitos sobre Tratamento de Excepções.
  • 3.
    Excepções Excepção vem dolatim excedere, com o prefixo EX:”fora”, + CEDERE: “sair, ir embora, retirar-se, abandonar”. Significava “ir além da conta”. Actualmente excepção refere-se a algo ou alguém que se diferencia ou difere da norma, que se desvia do normal ou da regra. Pode também ser utilizado a indivíduos, por exemplo, dizer que um/a menino ou menina é uma excepção, quer dizer que eles são diferentes dos demais, ou possuem um modo de pensar e/ou agir que é diferente das outras pessoas em seu modo de viver.
  • 4.
    Em java umaexcepção seria uma indicação de um problema que ocorre durante a execução de um programa. Ou poderiamos dizer que excepção em java nada mais é do que um desvio do fluxo normal do programa. Indica que houve um ou mais problemas durante execução de um bloco do programa. Se a excepção não for tratada, o programa pode parar. Excepções em Java
  • 5.
    Excepções Vs. Erros Umaexcepção pode ser prevista e resolvida pelo programador durante a implementação de um sistema ou programa. Erro é algo inesperado, que não pode ser tratado e que, na maioria das vezes aborta o sistema ou programa. Excepções em Java
  • 6.
    Excepção: Erro: O usuáriodigitou um valor inválido. (Previsível) O teclado sofreu alguma avaria física, o usuário não pode mais digitar valores com o teclado. Solução: Solução: A implementação de um tratamento para a excepção gerada pela digitação de um valor inválido. Não tem solução, pois um programa de computador não pode reparar um periférico de computador.
  • 7.
    Algumas das maiscomuns excepções na programação em Java Excepção Quando Acontece ArrayIndexOutOfBoundsEx ception Tentativa de acesso à posição inexistente num array. IllegalArgumentException Argumento formatado de forma diferente do esperado pelo método. ArithmeticException Problemas com operações numéricas, tipicamente divisão por zero: int i = 10 / 0;
  • 8.
    NullPointerException Gerado pela tentativade acessar um objecto através de uma referência nula, ou seja, antes do objecto ser instanciado. NegativeArraySizeException Gerado pela tentativa de criar um array de tamanho negativo: Image[] imagens = new Image[- 100];
  • 9.
    NumberFormatException Tentativa deconverter uma String inválida em número. NoClassDefFoundError Indica que a JVM não conseguiu localizar uma classe necessária durante a execução.
  • 10.
    Todas as classesem Java estendem directamente ou indirectamente - da classe Object. E todas as excepções em Java derivam da classe Throwable. Eis as três modalidades de excepções existentes na linguagem Java: Unchecked Exception, Checked Exception e Error. Unchecked Exception (RuntimeException) Representam situações que, geralmente, identificam erros de programação (ou seja, o programa não é robusto). (Ex.: Acessar índice inválido em um array - ArrayIndexOutOfBoundsException). Hierarquia de Excepções em Java
  • 11.
    Checked Exception Representam situaçõesque, geralmente, não são erros de programação e sim indisponibilidade de recursos ou condição necessária para a correcta execução do sistema ou de um programa. Error Representam situações incomuns, que não são causadas pelo programa, indicam situações que não acontecem usualmente durante a execução dum programa. Hierarquia de Excepções em Java
  • 13.
    CONCEITOS SOBRE TRATAMENTODE EXCEPÇÕES Uma das diferenças mais evidentes entre um bom programa e um mau programa é o tratamento de excepções, ou seja, a capacidade que o seu programa tem de responder a situações inesperadas. Quando usamos um software, esperamos que ele seja, tolerante à falhas. Quando um programador identifica uma possível falha que pode ocorrer durante a execução de seus programas, ele pode e deve codificar estratégias de tolerância e/ou correcção desta falha, em um processo conhecido como tratamento de excepções.
  • 14.
    Importância do Tratamentode excepções O tratamento de exceções permite que os programadores criem programas mais robustos e tolerantes a falhas. O tratamento de exceções permite aos programadores remover código de tratamento de erro da ‘linha principal’ de execução do programa.
  • 15.
    Tratamento de excepções Quandouma falha ocorre na execução de um programa, pode gerar uma excepção. Gerar uma excepção é a sinalização ao processo activo na máquina virtual de que alguma falha ocorreu. Esse processo então pode "capturar" a excepção, quando possível, e tornar a execução do código novamente válido dentro do comportamento previsto para esse programa. Existem três blocos de comandos básicos que permitem esse tratamento de excepções: try, catch e finally. Esses comandos usados em conjunto, garantem o desenvolvimento de códigos robustos.
  • 16.
     try É obloco de comandos que são passíveis de ocorrerem uma excepção. Quando o programador sabe que um determinado conjunto de instruções pode gerar algum tipo de excepção, ele agrega esse bloco de comandos dentro de um bloco try. O código contido dentro de um bloco try é chamado de código protegido. Tratamento de excepções
  • 17.
    catch É o blocode comandos alternativos ao try, ou seja, se os comandos do bloco try gerarem uma excepção então os comandos do bloco catch serão executados no lugar deles. O bloco catch é opcional, mas normalmente é implementado junto a um bloco try. Tratamento de excepções
  • 18.
    finally É um comandoutilizado para delimitar um grupo de instruções que será sempre executada ao final de um bloco try-catch, independentemente de qual dos blocos anteriores foi processado pela máquina virtual. Tratamento de excepções
  • 19.
    Eis um exemplo: 1public void relatorio(int indice) 2 { 3 // Tratamento de exceções 4 try 5 { 6 // Tenta executar esse bloco de comandos 7 System.out.println(alunos[indice]); 8 } Tratamento de excepções
  • 20.
    (Continuação) 9 catch(ArrayIndexOutOfBoundsException erro) 10{ 11 // Se houver alguma excepão no bloco anterior, 12 // o bloco catch será executado 13 System.out.println("Aluno Inexistente"); 14 } 15 catch (Exception erro) { 16 // Pode-se usar um catch para cada tipo de erro 17 // Possível no bloco try Tratamento de excepções
  • 21.
    (Continuação) 18 System.out.println("Exceção inesperada"); 19} 20 finally 21 { 22 // Esse comando será executado sempre 23 System.out.println("executou finally"); 24 } 25 } Tratamento de excepções
  • 22.
     Bibliografia  Deitel,H. M. & Deitel, P. J. Java: como programar, Editora Bookman. 6ª Edição. São Paulo: 2005.  www.devmedia.com.br/tratando-excecoes-em-java/25514 acessado no dia 11 de Abril de 2015.  www.devmedia.com.br/trabalhando-com-excecoes-em-java/27601 acessado no dia 11 de Abril de 2015.  Gomes, Bruno. Tratamento de Excepções PDF.  Campos, Leonardo Barretos Tratamento de Excepções PDF.  Gaúcho, Filipe. Módulo 3 - Java Básico e Intermediário. Instituto de Software do Ceará. Tratamento de excepções
  • 23.