Publicado em

Mais sobre as Exceções em Java

Partilhar:

Introdução

O tratamento de exceções é uma parte crucial da programação Java, pois permite que os desenvolvedores lidem proativamente com erros e situações imprevistas que podem surgir durante a execução de um programa.

Fundamentos das Exceções

O que é uma Exceção?

Uma exceção é uma ocorrência durante a execução de um programa que altera o fluxo normal de instruções. Em termos simples, uma exceção é um evento que sinaliza um problema e exige uma ação corretiva.

Tipos de Exceções

  1. Checked Exceptions: Verificadas em tempo de compilação, obriga o programador a tratar a exceção, seja com try-catch ou propagando-a com throws.
  2. Unchecked Exceptions: Emanam de erros de programação, como tentar acessar um índice fora dos limites de uma matriz ou tentar realizar uma operação nula.

Gestão Avançada de Exceções

Lançando Exceções

Java permite que os desenvolvedores lancem suas próprias exceções usando a palavra-chave throw. Essas exceções personalizadas podem ser úteis para sinalizar condições de erro específicas do domínio.

O Bloco finally

O bloco finally é usado para executar código importante que deve ser processado independentemente de uma exceção ser lançada ou não. Por exemplo, fechar conexões de banco de dados, liberar recursos, etc.

O Utilizador do try-with-resources

Introduzido no Java 7, try-with-resources simplifica a gestão de recursos, como streams, conexões, etc., garantindo que sejam fechados automaticamente após o uso.

Exemplo Prático

package com.caffeinealgorithm.programaremjava;

public class MaisSobreAsExcecoes {
  private Exception stringVazia = new Exception("Não se pode verificar uma string que esteja vazia.");

  public void Run() {
    try {
      verificarString("Eu sou uma string.");
    } catch (Exception excecao) {
      System.out.println(excecao);
    }
  }

  private void verificarString(String string) throws Exception {
    if (string.isEmpty())
      throw stringVazia;
    else
      System.out.printf("String: %s", string);
  }
}

Melhores Práticas

  • Documentação: Sempre documente as exceções que seu método pode lançar.
  • Use exceções específicas: Evite usar a exceção genérica Exception. Use subtipos mais específicos.
  • Evite capturar Throwable ou Error: A menos que esteja escrevendo código de baixo nível, não é aconselhável capturar esses tipos.

Conclusão

Compreender e usar eficazmente o tratamento de exceções em Java é fundamental para escrever programas robustos e resilientes. Ao se familiarizar com os conceitos e melhores práticas apresentados neste artigo, estará bem equipado para lidar com quaisquer desafios relacionados a exceções que possam surgir.

Happy coding!