Aula 13: Exceções e tratamento de erros

Sejam bem vindos, esta é a décima terceira aula de Programação Web em Java, para saber mais sobre o curso, começe em Curso de Programação Web em Java – CPWJ.

Hoje a aula é bem curta e semana que vem é carnaval e teremos folga. Aproveite para adiantar nas aulas e conseguir acompanhar o ritmo. Vamos falar de Exceções ou tratamento de erros em Java.

O sistema de exceções do Java é uma ferramenta para ajudar os programadores a reportar e manipular erros.

Sempre que uma função chamada em um programa puder gerar uma exceção o programador é obrigado a tomar uma ação. Esta ação pode ser a captura e tratamento do erro, ou simplesmente o lançamento do erro para outra função tratar. Vamos ver primeiro como tratar o erro:

Exemplo de tratamento/captura de erro típico: (Exception Catch)

public float dividir(int a, int b) {
  Float resultado;
  float r=0;
  try {  // Bloco try delimita a porção de código que pode apresentar erro
    resultado = new Float(a / b);
    r=resultado.floatValue(); //divisão executada armazena resultado
  } catch (ArithmeticException e) { //bloco catch trata o tipo de exceção indicado
    return 0; //divisão por zero
  } catch (Exception x) { //são permitidos vários blocos catch, um para cada tipo de exceção.
    //Exception é usada para qualquer tipo de exceção não específica encontrada
    //tratar aqui outros erros
  } finally { // é executada após o tratamento das exceções ou quando nenhuma exceção
    //é gerada normalmente quando é liberado os recursos usados na função
    resultado = null;
    System.out.println(r);
  }
  // após a execução das exceções ou de todo o bloco try, o fluxo prossegue deste ponto
  return r;
}

Lançamento de Exceções (Exception throwing)

Neste caso a função lança exceções para a função chamadora, isso é, quem deverá capturar o erro e tratá-lo é uma função que usa esta função para funcionar. Em outras palavras, a função escrita não trata o erro, simplesmente avisa que o erro aconteceu e interrompe seu processamento.

Exemplo de lançamento de erro:

public class File {
  public File(String nomeArquivo) throws FileNotFoundException {
    ...
    if (arquivo não encontrado ) {
      throw new FileNotFoundException();
    }
  }
}

“throws FileNotFoundException” na linha de declaração da função, indica que nesta função este tipo de exceção poderá ocorrer. Isso obriga o programador que usar esta função a tratar esta exceção (ou lançar para outro nível novamente).

“throws new FileNotFoundException();” indica que uma exceção foi detectada e avisa a máquina Java a respeito.

E por hoje é só.

Na Seqüência

  • dia 5 de Fevereiro: Carnaval. (não esqueçam a camisinha moçada!)
  • dia 12 de Fevereiro: Introdução a Jsp.

Dúvidas? vá para o fórum.

Procure os mais baratos Livros sobre a Web, Livros sobre Java, Livros HTML ou Livros CSS nas melhores lojas do Brasil.

Outros Artigos:

2 comentários para “Aula 13: Exceções e tratamento de erros”

  1. Abel disse:

    Aguardo a aula de jsp. Att.

  2. [...] Décima Terceira Aula: 29 de janeiro | Exceções e tratamento de erros [...]

Deixe um comentário