Tratamento de Exceções com Java (try catch finally) | Morettic

Tratamento de Exceções com Java (try catch finally)

porLuis Augusto Moretto

Tratamento de Exceções com Java (try catch finally)

O que é uma exceção?

Tratamento de exceções com java

Definição: Você sabe o que é o tratamento de exceções? Uma exceção é um evento, que ocorre durante a execução de um programa. Interrompe o fluxo normal das instruções do programa. Quando ocorre um erro dentro de um método, o método cria um objeto e o transfere para o sistema de tempo de execução.

O objeto, chamado de objeto de exceção, contém informações sobre o erro, incluindo seu tipo e o estado do programa quando o erro ocorreu. Criar um objeto de exceção e entregá-lo ao sistema de tempo de execução é chamado de gerar uma exceção .

Depois que um método lança uma exceção, a Java virtual Machine tenta encontrar algo para manipulá-lo ou irá interromper o fluxo de execução. O conjunto de possíveis blocos para manipular a exceção é a lista ordenada de métodos que foram chamados para acessar o método em que ocorreu o erro. A lista de métodos é conhecida como pilha de chamadas

O bloco try

A primeira etapa na construção de um manipulador de exceções é incluir o código que pode lançar uma exceção em um try. Em geral, um try se parece com o seguinte:
try {
código
}

pegar e finalmente bloqueia. . . O segmento no exemplo rotulado código, contém uma ou mais linhas legais de código que poderiam lançar uma exceção.

O(s) bloco(s) de captura

Você associa manipuladores de exceção a um try fornecendo um ou mais catch diretamente após o try . Nenhum código pode estar entre o final do trybloco e o começo do primeiro catchbloco.
try{

//Seu codigo
} catch ( ExceptionType name ) {

//Trata exception 1
} catch ( ExceptionType name ){

//Trata exception 2
}

Cada catch é um manipulador de exceção trata um tipo de exceção indicado por seu argumento. O tipo de argumento ExceptionType, declara o tipo de exceção que o manipulador pode manipular e deve ser o nome de uma classe que herda da Throwable.

O bloco finally

O bloco finally sempre é executado. Isso garante que o finally seja executado mesmo se ocorrer uma exceção inesperada. Colocar o código de limpeza em um finally é sempre uma boa prática, mesmo quando nenhuma exceção é esperada.

class Example1 {
   public static void main(String args[]) {
      int num1, num2;
      try {
         /* Este bloco pode lançar uma exceção
          */
         num1 = 0;
         num2 = 62 / num1;
         System.out.println(num2);
         System.out.println("Fim do bloco try");
      }
      catch (ArithmeticException e) { 
         /* 
Executado apenas se ocorrer uma exceção no try
          */
         System.out.println("Não faça divisões por zero no java");
      }
      catch (Exception e) {
         /* 
Tratamento de exceções genérico pode tratar qualquer tipo de exceção no java. 
          */
         System.out.println("Uma exceção ocorreu");
      }finally{
         System.out.println("Eu sempre vou ser executado!");
      }
      System.out.println("Fora do bloco try catch finally");
   }
}

Dicas para o tratamento de Exceções com Java

  • Se for utilizar a classe Exception para capturar exceções declare como o último bloco da instrução
  • Destrua seus objetos no bloco finally sempre que possível
  • Deixe para fazer o tratamento de exceções em sua classe controladora.
  • As classes de entidade devem lançar a exceção e a mesma deve ser tratada fora.