Saltar para o conteúdo principal
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 programadores 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 aceder a 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 programadores lancem as 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 base de dados, libertar 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: Documente sempre as exceções que o 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 a escrever 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 familiarizar-se com os conceitos e melhores práticas apresentados neste artigo, estará bem equipado para lidar com quaisquer desafios relacionados com exceções que possam surgir.

Happy coding!